天天看點

Python基礎筆記_字典

# Python3 字典
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

# 1.通路字典裡的值 ,字典中沒有key會報錯
print(dict['Alice'])  # 2341

# 2.修改字典
print("修改之前:", dict['Beth'])
dict['Beth'] = '哈哈哈哈哈'
print("修改之後:", dict['Beth'])

# 3.删除字典元素
dict3 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict3['Name']  # 删除鍵 'Name'
print("dict3['Name']:", dict3)  # -->{'Age': 7, 'Class': 'First'}
dict3.clear()  # 清空字典
print("clear:", dict3)  # --> {}
del dict3  # 删除字典
# print("del:", dict3)  #報錯
# 4.字典鍵的特性
'''
字典值可以沒有限制地取任何python對象,既可以是标準的對象,也可以是使用者定義的,但鍵不行。

'''
# 1)不允許同一個鍵出現兩次。建立時如果同一個鍵被指派兩次,後一個值會被記住,如下執行個體:
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print("dict['Name']: ", dict['Name'])  # -->Manni
# 2)鍵必須不可變,是以可以用數字,字元串或元組充當,是以用清單就不行

# 4.内置函數

dict4 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(len(dict))  # 計算字典元素個數,即鍵的總數。
print(str(dict))  # 輸出字典,以可列印的字元串表示。。
print(type(dict))  # 傳回輸入的變量類型  --><class 'dict'>

# 5.内置方法
dict5 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict5['Name']  # 删除鍵 'Name  --> {'Age': 7, 'Class': 'First'}
print("del name", dict5)

dict5.clear()  # 删除字典内所有元素
print(dict5)

dict52 = dict5.copy()  # 傳回一個字典的淺複制
print("copy後:", dict52)  # -->{}
dict5 = {'Name': 'Runoob1', 'Age': 71, 'Class': 'First1'}
print("被淺複制對象dict5改變後:", dict52)  # 淺複制是指當對象的字段值被複制時,字段引用的對象不會被複制 --> {}

#	radiansdict.fromkeys()
seq = ('name', 'age', 'sex')

dict53 = {'name': 'Runoob', 'age': 7, 'sex': 'First'}
# 建立一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值
dict54 = dict53.fromkeys(seq)  # 第一個參數是seq,第二個參數是指派
print("dict54:", dict54)  # -->dict54: {'name': None, 'age': None, 'sex': None}
dict55 = dict53.fromkeys(seq, 10)
print("dict55:", dict55)  # -->dict55: {'name': 10, 'age': 10, 'sex': 10}

# Python 字典 get() 函數傳回指定鍵的值,如果值不在字典中傳回預設值
# radiansdict.get(key, default=None)
dict56 = {'Name': 'Runoob', 'Age': 27}
print("Age 值為 : %s" % dict.get('Age'))  # -->7
print("Sex 值為 : %s" % dict.get('Sex', "NA"))  # -->NA
print("Sex 值為 : %s" % dict.get('Sex'))  # -->None

# Python 字典 items() 方法以清單傳回可周遊的(鍵, 值) 元組數組。
dict57 = {'Name': 'Runoob', 'Age': 7}
print("Value : %s" % dict57.items())  # dict_items([('Name', 'Runoob'), ('Age', 7)])
# 周遊例子
for i, j in dict57.items():
    print(i, ":\t", j)
# 将字典的 key 和 value 組成一個新的清單:
d = {1: "a", 2: "b", 3: "c"}
result = []
for k, v in d.items():
    result.append(k)
    result.append(v)

print(result)  # [1, 'a', 2, 'b', 3, 'c']