python学习笔记-1

来源:互联网 发布:p5.js 教程 编辑:程序博客网 时间:2024/05/16 18:31

去年,公司来了一位做Python自动化测试的同事,说来也巧,当时正是我学习自动化测试茫然的时期,不知道是做性能LoadRunner,还是做Python、qtp.......,后来我问了那位同事抽不抽烟,更巧了!!!之后才知道Python能做的事情是在是太多了,不管是web还是ios以及Android都可以做测试,这才使我鉴定了我的选择,于是开始接触Python。尤其是最近一段时间对Python这门语言开始着迷,赶脚Python就像是屌丝逆袭一般!再后来就开通了csdn的blog,希望能记住自己学习Python的过程,同时也希望能为和我一样的小白分享技术。(勿喷
直接从列表开始吧
1、创建list:
在Python中创建列表用函数list[ ],如下例子:
假设班里有3名同学:Adam,Lisa和Bart,他们的成绩分别是 95.5,85 和 59,请按照 名字, 分数, 名字, 分数... 的顺序按照分数从高到低用一个list表示,然后打印出来。
list1 = ['Adam',95,'lisa',85,'Bart',59] #创建一个列表print list1    #将列表打印

2、索引列表list:

列表的索引方法:list[0] #索引出list中的第一个元素,list第一位是从0开始。  list[1]  

例题:三名同学的成绩可以用一个list表示:

L = [95.5, 85, 59]

请按照索引分别打印出第一名、第二名、第三名的分数。

L = [95.5,85,59]print 'number-1:',L[0]print 'number-1:',L[1]print 'number-1:',L[2]
输出:
number-1: 95.5number-1: 85number-1: 59
顺带提一点,如果需要打印出来的内容链接起来在一行上展示,需要在print打印的后面加上 “,”逗号!!!
L = [95.5,85,59]print 'number-1:',L[0],print 'number-1:',L[1],print 'number-1:',L[2]
输出:
number-1: 95.5 number-1: 85 number-1: 59
倒序索引:倒序索引和降序索引恰恰相反,是从-1开始的, 

L = [95.5,85,59]print 'number-1:',L[-1],print 'number-1:',L[-2],print 'number-1:',L[-3]
输出:
number-1: 59 number-1: 85 number-1: 95.5

3、给列表添加元素

延续上面的例子,有abc三个学生成绩排名:a、b、c.此时有学生d,分数介于b和c之间。代码如下:

L = ['a','b','c']L.insert(2,'d')print L
输出:
['a', 'b', 'd', 'c']

4、删除列表元素,函数pop。

对列表进行删除可以使用pop函数,但是需要注意的是pop函数在没有传参数的情况下是默认删除最后一个元素的(L.pop())还需要注意的是当多次需要执行pop函数进行列表删除的时候需要从参数最高位执行起来,因为如果从低位开始执行,那么高位的参数就会变,列入先删除第一位,那么第二位现在的位置就变成了第一位,这样会导致误删   。
延续上面的例子,如果需要删除列表L的b和c两位同学,代码如下:
>>> L = ['a','b','c']>>> L.pop(2)'c'>>> L.pop(1)'b'>>> print L['a']>>> 

5、替换列表函数:L[需要删除元素的位置]

L = ['a','b','c','d']L[-2] = 'f'  #将c替换成fprint L['a', 'b', 'f', 'd']#输出的结果
将5中的L转化成元祖,元组和列表不同的地方就在于元组是用()框起来的,重要的是元组和列表的属性不同,元组是不可变的!还需要提的一点就是单元组的时候也需要添加“,”逗号,L = ('name',)
L = ['a','b','c','d']x = tuple(L)#使用tuple函数将L转换成元组的形式print x
输出:('a', 'b', 'c', 'd')
再引入一个range函数,range函数使用方式:range(x,y),其中x表示其实值,y表示结束值但不包括y本身。例如需要写出0--10的元组,一种方法就是一一写出0--10:(0,1,2,。。。。)。有了range函数之后就更方便了,代码如下:
t = (range(0,11))print t
输出:(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

“可变”的tuple

前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:

>>> t = ('a', 'b', ['A', 'B'])

注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:

>>> L = t[2]

然后,我们把list的两个元素改一改:

>>> L[0] = 'X'>>> L[1] = 'Y'

再看看tuple的内容:

>>> print t('a', 'b', ['X', 'Y'])

不是说tuple一旦定义后就不可变了吗?怎么现在又变了?

别急,我们先看看定义的时候tuple包含的3个元素:

当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:

表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

0 0
原创粉丝点击