Python
Search…
字典dict型態
串型型態在記錄大量的資料時非常有用,但缺點是每一個資料項目只能以數字來作為索引,在程式邏輯上就沒那麼方便。字典資料型態也是用來記錄大量的資料,而它和串列最不一樣的地方是,它的每一個資料項目都必需給一個「鍵key」,「key」和「value」是成對出現的。
指定資料給dict,主要用的是大括號,方式如下:
1
week = {
2
'Sunday': "星期日",
3
'Monday': "星期一",
4
'Tuesday': "星期二",
5
'Wednesday': "星期三",
6
'Thursday': "星期四",
7
'Friday': "星期五",
8
'Saturday': "星期六",
9
}
Copied!
有了上述的變數,請可以輕易地利用前面的字串作為索引而取出後面的值,範例程式如下:
1
week = {
2
'Sunday': "星期日",
3
'Monday': "星期一",
4
'Tuesday': "星期二",
5
'Wednesday': "星期三",
6
'Thursday': "星期四",
7
'Friday': "星期五",
8
'Saturday': "星期六",
9
}
10
print(week['Thursday'])
11
for weekday in week:
12
print(weekday)
13
for weekday in week.items():
14
print(weekday)
15
for _, weekday in week.items():
16
print(weekday)
Copied!
其中,items()是用來取得每一個項目的「鍵值對」之函數,如果使用一個變數來接收,會以Tuple元組的型態來取得,如果指定給兩個變數的話,則key會被放在一個變數,而value則是放到另外一個變數中。
在上述程式的第13中的weekday就是以Tuple的型態收到資料,而第15行則是以個別變數的型式取得字典中的資料,不過,因為我們只要中文名字(也就是值的部份),其面的key並不需要,直接以「_」底線符號來忽略它即可。
上述程式的執行結果如下:
1
星期四
2
Sunday
3
Monday
4
Tuesday
5
Wednesday
6
Thursday
7
Friday
8
Saturday
9
('Sunday', '星期日')
10
('Monday', '星期一')
11
('Tuesday', '星期二')
12
('Wednesday', '星期三')
13
('Thursday', '星期四')
14
('Friday', '星期五')
15
('Saturday', '星期六')
16
星期日
17
星期一
18
星期二
19
星期三
20
星期四
21
星期五
22
星期六
Copied!
其實如果只是想要取得字典中的鍵或值,還有專屬的函數可以用,那就是keys()和values(),程式範例如下:
1
week = {
2
'Sunday': "星期日",
3
'Monday': "星期一",
4
'Tuesday': "星期二",
5
'Wednesday': "星期三",
6
'Thursday': "星期四",
7
'Friday': "星期五",
8
'Saturday': "星期六",
9
}
10
print(week.keys())
11
print(week.values())
Copied!
執行結果如下:
1
dict_keys(['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])
2
dict_values(['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'])
Copied!
Last modified 2yr ago
Copy link