Python基礎知識(7):數據基本類型之元組、字典 一、元組 用括弧把元素括起來中間用逗號隔開。用逗號分開一些值便可創建元組 結果: (1, 2, 3) 空元組可以用沒有包含任何內容的兩個圓括弧表示,如()。 1、元素不可被修改,不能進行增加、刪除操作 2、建議寫元組的時候在右括弧的左邊加一個逗號 ...
Python基礎知識(7):數據基本類型之元組、字典
一、元組
用括弧把元素括起來中間用逗號隔開。用逗號分開一些值便可創建元組
1,2,3
結果:
(1, 2, 3)
空元組可以用沒有包含任何內容的兩個圓括弧表示,如()。
1、元素不可被修改,不能進行增加、刪除操作
2、建議寫元組的時候在右括弧的左邊加一個逗號,以便與方法區分開來。如(1,2,3,)
一個值加上逗號可以實現一個值的元組,如(43,)
3、元組可以通過索引取值
4、元組也可以通過分片取值,元組的分片還是元組
5、元組可以使用for迴圈
6、元組、字元串、列表三者之間可以相互轉換
s="123" tuple(s) 結果:('1', '2', '3') list(s) 結果:['1', '2', '3'] l=["a","b","c"] tuple(l) 結果:('a', 'b', 'c') str(l) 結果:"['a', 'b', 'c']" t=(5,7,8) str(t) 結果:'(5, 7, 8)' list(t) 結果:[5, 7, 8]
7、extend:追加一個元素
8、count:計算元素個數
9、index:按索引獲取值
10、元組的一級元素不可修改,但可以修改元組中列表的元素
t=(1,3,[("a","b"),1],"Alice",True,(5,6)) t[2][1]="more" t
結果:
(1, 3, [('a', 'b'), 'more'], 'Alice', True, (5, 6))
二、字典
定義字典時用大括弧,字典由多個鍵及其對應的值構成的鍵-值對組成,鍵-值對也稱為項。每個鍵和它的值之間用冒號隔開,每個項之間用逗號隔開。
1、可以使用dict()函數創建字典
方法一: items=[("name","Alice"),("age","12")] d=dict(items) d 結果: {'age': '12', 'name': 'Alice'}
方法二: d=dict(name="Alice",age="12") d 結果: {'age': '12', 'name': 'Alice'}
2、字典中的值(value)可以是任意值,如字元串、列表、元組等。同時字典中的值也可以嵌套很多層。
info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"}
3、列表、字典不能作為鍵(key)。如果鍵重覆只能保留一個
4、通過鍵(key)取值
如上面例子中的info["k1"]
5、字典是無序的
6、不能通過分片取值
7、字典可以使用del刪除
8、字典可以使用len()獲知字典中項(鍵-值)的數目
9、字典可以使用for迴圈
for預設迴圈輸出鍵,使用keys()也可以輸出key。如果想要輸出值可以使用value()。
info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"} for item in info: print(item) print("=" * 50) for item in info.keys(): print(item) print("=" * 50) for item in info.values(): print(item) print("=" * 50)
#輸出項(鍵-值對)
for k,v in info.items(): print(k,v)
結果:
note
k1
3
age
==================================================
note
k1
3
age
==================================================
forgot
Alice
[3, 2, (['more', 'money'], 11), 2]
12
==================================================
note forgot
k1 Alice
3 [3, 2, (['more', 'money'], 11), 2]
age 12
10、字典方法
(1)clear:清除字典中所有的項
(2)copy:淺複製,返回一個具有相同鍵-值對的字典
(3)fromkeys:使用給定的鍵建立新字典,每個鍵都對應一個預設值None
{}.fromkeys(["name","age"])
結果:
{'name': None, 'age': None}
(4)get:訪問字典的項,當訪問的項不存在時會報錯,訪問的鍵不存在時會返回預設值None
(5)items:把字典中的所有鍵-值對以列表的方式返回,但項返回時並沒有特定的順序
(6)pop:將對應的鍵-值對從字典中移除
popitem:隨機刪除一個項
(7)setdefault:獲得與給定鍵相關的值
當鍵不存在時,setfault會相應的在字典中國添加;如果鍵存在,就返回其相對應的值
(8)update:可以利用一個字典的項更新另一個字典的項