Dictionary

宣告字典,與字典操作

我們來看看以下的範例:

emptyDictionary = {}
print(emptyDictionary)
print(type(emptyDictionary))

tom = {'name': 'Tom Wang', 'age': 20, 'height': 170, 'weight': 60, 'blood': 'B'}
mary = {'name': 'Mary Jane', 'age': 21, 'height': 165, 'weight': 55, 'blood': 'A'}

def printData(person):
    print('{} age is {}, height is {}, weight is {}, blood is {}'
    .format(person['name'], person['age'], person['height'], person['weight'], person['blood']))

printData(tom)
printData(mary)

# 這邊我們看到,就算dictionary裡面的item順序不一樣,只要值完全一樣,互相比對還是會相等的
tom2 = {'blood': 'B', 'name': 'Tom Wang', 'age': 20, 'height': 170, 'weight': 60}
print(tom == tom2)

print('next year~')
tom['age'] = 21
tom['height'] = 172
tom['weight'] = 61
printData(tom)

前三行說明一個空的dictionary如何宣告,並且印出dictionary的樣子,以及印出dictionary的型別。

其他的則是對dictionary的一些取值,指派語法。

我們可以觀察到,字典其實是由一對一對的(key, value)組合的,tom這個字典由('name': 'Tom Wang'), ('age': 20 ), ('height': 170)...組成, 'name'是第一個item的key,中文我們稱之為鍵, 'Tom Wang'是第一個item的value,中文我們稱之為值, 所以字典就是由一連串的key-value pair(鍵值對)組成, 其中的鍵只能使用int, float, str, tuple等型別, 而值則可以使用任何型別,即便是像以下誇張的範例,也是可以執行的。

m = {('a', 1): [1, 2, 3]}
m['b'] = 1234
print(m)

所以,字典當中的一個鍵值對,我們稱為item,item的key稱為鍵,item的value稱為值。

我們還可以觀察到tom == tom2是True, 因此字典當中得鍵值對是沒有順序的,所以即便順序不同,它們其實是一樣的東西。

Last updated

Was this helpful?