PYTHON 列表&元組&字典&集合
阿新 • • 發佈:2018-12-22
列表(list)
- 有序性,可儲存任意型別的值
- 通過偏移存取,支援索引來讀取元素,第一個索引為0 ,倒數第一個索引為-1
- 可變性 ,支援切片、合併、刪除等操作
- 可通過索引來向指定位置插入元素
- 可通過pop()方法刪除末尾元素,pop(索引位置)來刪除指定位置元素
- 替換元素可直接通過賦值給對應的的索引位置
classMates = ['zhangsan','lisi','wangwu'] print(classMates[0]) #通過索引來獲取元素 print(classMates[-1]) #列表元素的所因為-1的為最後一個元素 classMates.append('chenliu') #在列表末尾追加元素 print(classMates) classMates.insert(1,'chenyi') #通過insert函式 用索引號來指定插入元素位數 print(classMates) classMates.pop() #彈出元素 預設為最後一個元素 print(classMates) classMates.pop(1) #通過指定索引刪除元素 print(classMates) classMates[0] = 'sanduo' #通過賦值,直接把索引為0的元素給替換掉 print(classMates) s = ['python',123,True] #列表可以存放不同資料型別的元素 L = ['man','woman',['python',123,]] #列表元素也可以為其他列表 print(L) L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart', 'Lisa']] print(L[0][0]) #通過索引來列印元素Apple
元組(tuple)
- 有序性,和列表一樣通過偏移存取,支援用索引來讀取元素
- 不可變性,不支援任何修改及任何呼叫
- tuple可作為字典的key,可用於字串格式化中
classMates = ('lisa','rom','bobi')
t = (1,) #在顯示只有一個元素的元組時,會在後面加一個逗號
print(t)
字典 (dictionary)
- 無序可變的,屬於科扁對映型別
- 採用鍵值對(key-value )進行儲存,查詢速度較快
- 可以通過pop.() 來進行刪除鍵,所對應的value也會被刪除
- 除了初始化字典時存放資料,還可通過 dict['key'] = value 來存放
- 鍵為固定的不可變的,只能對應一個value,多次對一個key放入value,後面的值被頂替前面的值
- 需要佔用大量記憶體 ,浪費記憶體
dictOne = {'zhangsan': 95,'lisi': 87,'wangwu':76} print(dictOne['wangwu']) dictOne['sanduo'] = 100 #把資料放入dict的方法,除了初始化時指定外,還可以通過key放入 print(dictOne['sanduo']) dictOne['sanduo'] = 98 #重複給一個key賦值,後面的值會把前面的值代替 print(dictOne['sanduo']) dictOne['xiaozhang'] = 67 print(dictOne) print('sanduo'in dictOne ) #用 in 判斷key在列表中是否存在 print(dictOne.get('sanduo',-1)) print(dictOne.get('wanwu',-1)) #通過get() 如果key不存在,可以返回None,或者自己指定的 value dictOne.pop('zhangsan') #通過pop.() 刪除字典的鍵,同時對應的value也會被刪除 print(dictOne)
集合(set)
- 無序性、無重複key
- 建立set,需要提供一個list作為輸入集合
- 通過add(key)方法新增元素
- 通過remove(key)刪除元素
- 不可以放入可變物件例如 list
setFirst = set([2,3,4,6,5]) # 建立set 需要提供一個list作為輸入集合
print(setFirst)
setSecond = set([1,2,2,3,4,3]) #set 自動過濾掉重複元素
print(setSecond)
setSecond.add(9) #通過add.()來新增元素到set中
print(setSecond)
setSecond.remove(4) #通過remove.()來刪除元素
print(setSecond)
firstList = [1,2,3,3,3,5,6,6,6,9]
print(list(set(firstList))) #利用set來過濾掉重複元素
s1 = set([1,2,3])
s2 = set([2,3,4])
print(s1 & s2) #做交集運算
print(s1 | s2) #做並級運算