1. 程式人生 > >Python學習之旅(八)

Python學習之旅(八)

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:可以利用一個字典的項更新另一個字典的項