字典是一種可變容器模型,能夠存儲任意類型對象,也就是所謂的 "來者是客"。python
k={'name':'zhouyuyao','age':21,'sex':'female'}ide
print(k)spa
print(type(k))對象
# 返回結果:排序
# {'name': 'zhouyuyao', 'age': 21, 'sex': 'female'}ip
# <class 'dict'>get
k1=dict(a=1,b=2,c=3)it
print(k1)class
# 返回結果:test
# {'a': 1, 'b': 2, 'c': 3}
# 元組裏面一個列表,列表裏面兩個元組
d=dict([('name','list'),('age',20)])
print(d)
# 返回結果:
# {'name': 'list', 'age': 20}
# 字典的經常使用方法
k1.clear() # clear 至關於把 k1 裏面的值清除
print(k1)
# get方法
print(k.get('name'))
print(k.get('age'))
# 返回結果:
# zhouyuyao
# 21
# setdefault
print(k.setdefault('name'))
print(k.setdefault('age','changsha'))
print(k.setdefault('address','changsha'))
# 返回結果:
# zhouyuyao
# 21
# changsha
# keys
print(k.keys())
# 返回結果:
# dict_keys(['name', 'age', 'sex', 'address'])
# values
print(k.values())
# iteritems
print(k.items()) #在 python3 裏面用 items() 替換 iteritems()
# 返回結果:
# dict_items([('name', 'zhouyuyao'), ('age', 21), ('sex', 'female'), ('address', 'changsha')])
for x,y in k.items():
print(x,y)
# 返回結果:
# name zhouyuyao
# age 21
# sex female
# address changsha
# Python 3.0 內的另外一個重大改變是字典內dict.iterkeys(),dict.itervalues(),dict.iteritems()方法的刪除。
# 取而代之的是:dict.keys(),dict.values(),dict.items(),
# 它們被進行了修補,能夠返回輕量的、相似於集的容器對象,而不是鍵和值的列表。
# 這樣的好處是在不進行鍵和條目複製的狀況下,就能在其上執行set操做。
# dict.has_key()一樣被移除。
l=['a','b','c','d']
m={}
n=m.fromkeys(l,123)
n=dict.fromkeys(l,123)
print(n)
# 返回結果:
# {'a': 123, 'b': 123, 'c': 123, 'd': 123}
l1=['a','b','c','d']
l2=[1,2,3,4]
dict_test=dict(zip(l1,l2)) #應該爲字典
print(dict_test)
print(k)
# 返回結果:
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}
# {'name': 'zhouyuyao', 'age': 21, 'sex': 'female', 'address': 'changsha'}
# 將 dict_test 和 k 合併
dict_test.update(k)
print(dict_test)
# 返回結果:
# {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'name': 'zhouyuyao', 'age': 21, 'sex': 'female', 'address': 'changsha'}
# 對字典進行排序
mm=dict(a=1,b=10,c=3,d=9)
print(mm)
print(sorted(mm.items(),key=lambda d: d[1],reverse=True))
# 返回結果:
# {'a': 1, 'b': 10, 'c': 3, 'd': 9}
# [('b', 10), ('d', 9), ('c', 3), ('a', 1)]