Python学习笔记(六):列表和字典

来源:互联网 发布:stm32单片机和51的区别 编辑:程序博客网 时间:2024/05/16 05:30

以Mark Lutz著的《Python学习手册》为教程,每天花1个小时左右时间学习,争取两周完成。 --- 写在前面的话


2013-7-18 19:00 学习笔记

1,Python中的列表是任意对象的有序集合,而且是可变的。在标准的Python解释器内部,列表是C数组,不是链接结构。

2,列表的一些基本操作与字符串很类似,因为它们本质上都是一种序列。例如:

L1 = [1,2,3]L2= [4,5,6]print len(L1)print L1 + L2print L1*2print 3 in L1,2 in L2for x in L1: print x
结果为:

3[1, 2, 3, 4, 5, 6][1, 2, 3, 1, 2, 3]True False123
而对于+操作,要注意+两边要为同样的类型,否则应使用str()将列表转为字符串,或使用list()将字符串转为列表。例如:

print str([1,2]) + '34'print [1,2] + list('34')
结果为:

[1, 2]34[1, 2, '3', '4']

3,与字符串不同,列表是可以改变。例如:

L = [1,2,3,4,5,6]L[1] = 99print LL[2::2] = [77,88]print L
例如:

[1, 99, 3, 4, 5, 6][1, 99, 77, 4, 88, 6]

4,列表有许多方法,例如append()、sort()、extend()、pop()等等,可以查手册和文档,这里不说了。值得一提的是del(),它可以删除列表中的元素。例如:

L = [1,2,3,4,5,6]print Ldel L[1]print Ldel L[3:]print L
结果为:

[1, 2, 3, 4, 5, 6][1, 3, 4, 5, 6][1, 3, 4]

5,在Python中,字典是任意对象的无序集合,通过键而不是偏移量来读取。字典可以改变。字典本质是哈希表。

6,创建字典有4种方法:

# method 1L1 = {'name':'mathboy', 'age':23}# method 2L2 = {}L2['name'] = 'mathboy'L2['age'] = 23# method 3L3 = dict(name='mathboy', age=23)# method 4L4 = dict([('name','mathboy'), ('age',23)])

7,字典中也有很多的方法。例如has_key()判断是否存在某个键,values()返回值的列表,keys()返回键的列表,items()返回元组列表。

D = {'boy': 'mathboy', 'girl': 'mo'}print D.has_key('name')print D.keys()print D.values()print D.items()
输出结果为:

False['boy', 'girl']['mathboy', 'mo'][('boy', 'mathboy'), ('girl', 'mo')]

8,字典的键也可以是数字。例如:

D = {}D[1] = 'mathboy'key = 3D[key] = 'mo'print D
结果为:

{1: 'mathboy', 3: 'mo'}