python笔记二

上一篇 / 下一篇  2016-01-16 22:03:48 / 个人分类:python

list(列表),是python中比较重要的一种数据类型,有多重要,大家可以慢慢体会……

2wm{*~%YpRI4cB9F0
定义list,使用中括号
如:l=['one','two','three']
取值:l[0]='one'
取多个值:l[0:2]=['one','two','three']=l[0:]
使用for循环取值:
>>> for i in l:
print i
或者使用下标:
>>> for i in range(len(l)):
print l[i]
连接列表中的项,使用join,'+'.join(l)
strlist='+'.join(l)
结果:'onw+two+three',而对于字符串则可以使用split来分割成list,split和list为相反操作
>>> strlist.split('+')
['onw', 'two', 'three']
如果不需要分割,则为''.join(l)
注意:join只能用于字符串列表操作,如果为数字列表,则不可使用

y5T`{xBCD0
>>> data=range(3)
>>> data
[0, 1, 2]
>>> '+'.join(data)

"{w+q9nSh0
Traceback (most recent call last):
  File "<pyshell#39>", line 1, in <module>
    '+'.join(data)
TypeError: sequence item 0: expected string, int found

m$Q4nWu FB`0
可以使用str来转换成字符串列表
我们用列表推导式
data2=[str(i) for i in data]
>>> '+'.join(data2)
'0+1+2'

,J A+z|'Es#l`0
列表推导式也很常用,就是在原来的列表基础上生成新的列表
如>>> [i*2 for i in data]
[0, 2, 4]
还可以使用if来判断,如
data.append('sss'),
[i*2 for i in data if type(i)==types.IntType]
当list的项的类型为int类型才执行i*2操作
51Testing软件测试网6Y~`9z:NM9P+Cb
append表示在列表后插入值,可以动态的创建列表
data=[]
data.append('first')
data.append('second')
而extend表示在原列表后附件列表,如:
data1=[1,2,3]
data2=[4,5,6]
data.extend(data2)
>>> data.extend(data2)
>>> data
[0, 1, 2, 3, 4, 5, 6]

$~m-k V~0
删除列表项:
data.remove(4)

N&obB'W9s0
pop,返回最后一个项,并删除
如data.pop(),将删除6
也可以指定索引,data.pop(1)
51Testing软件测试网e2vJ'S$l
删除多个项,如
data=['first','second','third','fouth']
del data[1:2]
data=['first','third','fouth'],注意python中,切片操作,如[m:n],表示大于等m且小于n,即不包含n

K5p2Q fMRo TA0
清空整个列表:
del data[:]或data=[]
51Testing软件测试网i*Al"AI6tm2tD*~t
将字符串或元祖转换成list,也很简单,直接使用list方法,如:
hlsit=list('hello')
>>> hlsit
['h', 'e', 'l', 'l', 'o']

`\ }k C9s;T$z9h0
#元组:不可变列表,使用圆括号,也可以不用,如:
>>> tt=('ss','aa')
>>> tt
('ss', 'aa')
>>> tt2=22,33
>>> tt2
(22, 33)
因为不可以变,所以,append,remove等方法都不可以使用
将列表转换为元组使用tuple方法
>>> data2
[4, 5, 6]
>>> tt=tuple(data2)

7gh)e&K5N$n7J ]i#l@X0
*字典,键值对
dic={'name':'jhon','sex':'male'}
>>> dic
{'name': 'jhon', 'sex': 'male'}

-G;xDsR.c^tJ3Z0
或使用dict方法来定义字典
fdict = dict((['name','jhon'],['sex','male']))
还可以使用formkeys方法:
>>> dic.fromkeys(['a','b'])
{'a': None, 'b': None}
也可以:
>>> dic=dict(name='jhon',sex='male')
>>> dic
{'name': 'jhon', 'sex': 'male'}
51Testing软件测试网7|3I2GyF8w W
还没完,也可以这样:
>>> key=['name','sex']
>>> value=['jhon','male']
>>> dic=dict(zip(key,value))

-MQ.]`G6g]2l d0
取值:dic['name']='jhon'
循环取值:
>>> for key in dic:
print key,dic[key]
name jhon
sex male

`r@t^ h|+` z0
键列表,值列表,键值列表:
>>> dic.keys()
['name', 'sex']
>>> dic.values()
['jhon', 'male']
>>> dic.items()
[('name', 'jhon'), ('sex', 'male')]

)cQ*V Sed0
删除
>>> del dic['name']
>>> dic
{'sex': 'male'}
51Testing软件测试网;W(MJ$eZV @w
*字符串
常用方法;split,join之前list说过了
find,relplace
strip去除字符串两边的空格,不包含中间的;还可以去除啊特殊字符,如.strip("*")
一些可能用得到的字符串常量,如string.dights()数字,string.lowercase(小写字母),string.letters(大小写),string.printable(所有可打印字符)
51Testing软件测试网1b@1QK]-EO7K(O'I

TAG: Python python

 

评分:0

我来说两句

Open Toolbar