1. 程式人生 > >4.7 字典

4.7 字典

python字典

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


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 裏面的值清除

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




4.7 字典