博主簡介:原互聯網大廠tencent員工,網安巨頭Venustech員工,阿裡雲開發社區專家博主,微信公眾號java基礎筆記優質創作者,csdn優質創作博主,創業者,知識共享者,歡迎關注,點贊,收藏。
在實際開發過程中,我們會遇到需要將相關數據關聯起來的情況,例如,處理學生的學號、姓名、年齡、成績等信息。另外,還會遇到需要將一些能夠確定的不同對象看成一個整體的情況。Python提供了字典和集合這兩種數據結構來解決上述問題。這裡介紹一下python字典的創建相關知識。
字典是Python中常用的一種數據存儲結構,它是由“鍵-值”對組成,每個“鍵-值”對稱為一個元素,每個元素表示一種映射或對應關系。 “鍵”可以是Python中任意不可變數據,如整數、實數、復數、字符串、元組等類型,但不能使用列表、集合、字典或其他可變類型作為字典的“鍵”。 “值”可以取任意數據類型。
直接賦值創建字典的一般格式如下:
變量名 = {鍵1:值1, 鍵2:值2, 鍵3:值3,…}
例如:創建一個學生信息字典,包括學生學號、姓名和性別三個元素。
stu_info = {'num':'20180101', 'name':'Liming', 'sex':'male'} #創建字典
print(stu_info) #查看字典
結果如下:
字典中元素打印出來的順序與創建時的順序不一定相同,這是因為字典中各個元素並沒有前後順序。
還可以用內置函數dict()通過其他“字典”、“(鍵,值)”對的序列或關鍵字參數來創建。 例:使用內置函數dict()創建字典。
stu_info2 = dict(stu_info1) #通過其他字典創建
stu_info3 = dict([('num', '20180101'), ('name', 'Liming'), ('sex', 'male')]) #通過“(鍵,值)”對的序列創建
stu_info4 = dict(num = '20180101', name = 'Liming', sex = 'male') #通過關鍵字參數創建
stu_info5 = dict(zip(['num', 'name', 'sex'], ['20180101', 'Liming', 'male'])) #通過dict和zip結合創建
if stu_info1 == stu_info2 == stu_info3 == stu_info4 == stu_info5: #判斷五個變量是否相等
print("創建字典的5種方式相同") #如果相同輸出提示符
else: #如果不相同
print("創建字典的5種方式不相同") #輸出提示符
結果如下:
zip()函數將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的zip對象。例如:
list_str = ['a', 'b', 'c', 'd'] #創建列表並賦值
list_num = [1, 2, 3, 4] #創建列表並賦值
list_new = zip(list_str, list_num) #打包為元組組成的zip對象
print("zip結果(列表):", list(list_new)) #用list()函數轉換為列表輸出
結果如下。
在Python中,當所有鍵對應同一個值時,可使用fromkeys()方法創建字典。
dict.fromkeys(seq[,value]) 例如:
stu_age1 = dict.fromkeys(['Wangwu', 'Zhangsan']) # 創建字典,“鍵”值默認為None
print(stu_age1) # 輸出stu_age1
stu_age2 = dict.fromkeys(['Wangwu', 'Zhangsan'], '18') # 創建字典,“鍵”值默認為18
print(stu_age2) # 輸出stu_age2
結果如下。
字典中的“鍵”是唯一的,創建字典時若出現“鍵”相同的情況,則後定義的“鍵-值”對將覆蓋先定義的“鍵-值”對。例如:
x = {'a': 1, 'b': 2, 'b': '3'} # 直接賦值創建字典x
print(x) # 輸出字典x
結果如下。
1、廖雪峰的官網 2、python官網 3、Python編程案例教程
以上就是就是關於python字典的創建相關知識,可以參考一下,後面會不斷更新相關知識,大家一起進步。