天天看點

4.7 字典

字典是一種可變容器模型,可以存儲任意類型對象,也就是所謂的 "來者是客"。

k={'name':'zhouyuyao','age':21,'sex':'female'}

print(k)

print(type(k))

# 傳回結果:

# {'name': 'zhouyuyao', 'age': 21, 'sex': 'female'}

# <class 'dict'>

k1=dict(a=1,b=2,c=3)

print(k1)

# {'a': 1, 'b': 2, 'c': 3}

# 元組裡面一個清單,清單裡面兩個元組

d=dict([('name','list'),('age',20)])

print(d)

# {'name': 'list', 'age': 20}

# 字典的常用方法

k1.clear()    # clear 相當于把 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'))

# 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)

# {'a': 1, 'b': 2, 'c': 3, 'd': 4}

# {'name': 'zhouyuyao', 'age': 21, 'sex': 'female', 'address': 'changsha'}

# 将 dict_test 和 k 合并

dict_test.update(k)

# {'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)]

上一篇: 4.8 幫助
下一篇: 4.5 清單