Python學習筆記(六):列表和字典
阿新 • • 發佈:2019-02-05
以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 + L2
print L1*2
print 3 in L1,2 in L2
for x in L1: print x
結果為:
而對於+操作,要注意+兩邊要為同樣的型別,否則應使用str()將列表轉為字串,或使用list()將字串轉為列表。例如:3 [1, 2, 3, 4, 5, 6] [1, 2, 3, 1, 2, 3] True False 1 2 3
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] = 99
print L
L[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 L del L[1] print L del L[3:] print L
[1, 2, 3, 4, 5, 6]
[1, 3, 4, 5, 6]
[1, 3, 4]
5,在Python中,字典是任意物件的無序集合,通過鍵而不是偏移量來讀取。字典可以改變。字典本質是雜湊表。
6,建立字典有4種方法:
# method 1 L1 = {'name':'mathboy', 'age':23} # method 2 L2 = {} L2['name'] = 'mathboy' L2['age'] = 23 # method 3 L3 = dict(name='mathboy', age=23) # method 4 L4 = 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 = 3
D[key] = 'mo'
print D
結果為:
{1: 'mathboy', 3: 'mo'}