字典的创建
字典是python內置的映射類型。
字典是由零個鍵值對,或一個鍵值對,或多個鍵值對用逗號隔開,包括在花括號內組成。(一對空的花括號創建一個空字典):
例如:
d1 = {}
print(type(d1))
<class ‘dict’>
d2 = {‘name’: ‘Tom’, ‘age’: 18, ‘height’: 187}
print(type(d2))
<class ‘dict’>
Python-如何創建字典,及生成字典的方法
2
1)字典是以鍵取值,與列表元組的索引取值不同。
2)在一個字典內,鍵名必須是唯一的,值可以是任何數據。(同名的鍵,后面的值會覆蓋全面的值)
3)鍵,必須是不可變類型,但最好字符串。
示例:
d1 = {“name”: [‘齊德隆’,‘齊東強’],
"age": [21,22],"age":[34,23]}print(‘項數:’,len(d1))
項數: 2
print(‘輸出:’,d1)
輸出: {‘name’: [‘齊德隆’, ‘齊東強’], ‘age’: [34, 23]}
Python-如何創建字典,及生成字典的方法
3
數字和元組也是不可變類型,為什么說最好用字符串:
1)有可能會出現整數和浮點數相等等的情況,如1可以和1.0會被認為是同名鍵。
d1 = {1: ‘齊德隆’, 2.0: ‘Jerry’, 1.0: ‘Tom’, 2: ‘齊東強’}
print(d1)
—{1: ‘Tom’, 2.0: ‘齊東強’}
2)元組里可能會包括列表或字典等可變類型的元素。如(1,[2,4],6)
所以,用字符串做鍵是最保險的,既是想要用數字來表明順序,也把數字變為字符串(如‘1’:’拉布拉多‘)
Python-如何創建字典,及生成字典的方法
END
2.dict 構造器來創建
1
無參數的 dict():
沒有參數的dict()函數,返回一個空字典。
示例:
d1=dict()
print(d1)
—{}
Python-如何創建字典,及生成字典的方法
2
傳入關鍵字參數:dict(**kwargs)
1)參數是關鍵字參數( key=value)
2)用關鍵字參數作為鍵值對,返回一個字典。
3)如果鍵有重名,后者的值將替代前者。
例如:
d1=dict(name=‘齊德隆’,age=24,height=187)
print(d1)
—{‘name’: ‘齊德隆’, ‘age’: 24, ‘height’: 187}
有關函數的參數可看下面的鏈接。
13自學Python-自定義函數
Python-如何創建字典,及生成字典的方法
3
傳入映射對象做參數:dict(mapping,**kwargs)
1)傳入的參數mapping是映射對象。是位置參數。
2)如果鍵有重名,后者的值將替代前者值。
例如:
k = [‘name’, ‘age’, ‘height’]
v = [‘齊德隆’, ‘24’, ‘187’]
worker=zip(k,v)
d1 = dict(worker)
print(d1)
{‘name’: ‘齊德隆’, ‘age’: ‘24’, ‘height’: ‘187’}
Python-如何創建字典,及生成字典的方法
4
傳入可迭代的對象做參數:dict. (iterable,**kwargs)
1)參數 iterable 是可迭代的對象;是位置參數。
2)iterable的每個元素應是兩個子元素的可迭代對象,如:[( a , 1 ) , ( b , 2 )]
3)每個元素中的第一個子元素將成為字典的鍵,第二個子元素成為值。
4)如果鍵有重名,后者的值將替代前者的值。
例如:
worker=[(‘name’,‘齊德隆’),(‘age’,24),(‘height’,187)]
d1=dict(worker)
print(d1)
{‘name’: ‘齊德隆’, ‘age’: 24, ‘height’: 187}
Python-如何創建字典,及生成字典的方法
5
以上3,4示例中:dict. (iterable,**kwargs)和dict(mapping,**kwargs)都沒有傳入關鍵字參數;如果要傳入關鍵字參數:
1)關鍵字參數和值會被作為鍵值對,加入位置參數mapping或iterable創建的字典中。
2)如果鍵已存,關鍵字參數的值將替代位置參數的值。
例如:
worker=[(‘name’,‘齊德隆’),(‘age’,24),(‘height’,187)]
d1=dict(worker,place=‘大興安嶺’,name=‘齊東強’)
print(d1)
{‘name’: ‘齊東強’, ‘age’: 24, ‘height’: 187, ‘place’: ‘大興安嶺’}
Python-如何創建字典,及生成字典的方法
總結
- 上一篇: 岚图高管解读近50亿融资:东风跟投9亿
- 下一篇: 微信公众号开发之获取地理位置接口