【Python】字典dict

2018-08-23  本文已影响14人  Natsuka
字典特点
fruit = {"apple":1,"pear":2,"orange":3}
print(fruit) # 结果为:{'apple': 1, 'pear': 2, 'orange': 3}
dic = {'a':1,'a':2}
print(dic) #结果为:{'a': 2}

dic1 = {'a':1,'b':2}
dic2 = {'b':22,'c':3}
dic1.update(dic2) # 合并字典
print(dic1) #结果为:{'a': 1, 'b': 22, 'c': 3}
dic1 = {'a':1,'b':2}
del dic1['a']
print(dic1) #结果为:{'b': 2}
申明字典
dic = {'a':1,'b':2}
a = dict(m=10,n="aa",h=100) #等号前不需要加引号
print(a) #结果为:{'m': 10, 'n': 'aa', 'h': 100}
lst = [('a','f'),('b','ggg')]
lst2 = [['a','f'],['b','ggg']]
lst3 = (('a','f'),('b','ggg'))

dict(lst) #结果为:{'a': 'f', 'b': 'ggg'}
dict(lst2) #结果为:{'a': 'f', 'b': 'ggg'}
dict(lst3) #结果为:{'a': 'f', 'b': 'ggg'}
keys = ['a','b','c']
m = dict.fromkeys(keys)
print(m) #结果为:{'a': None, 'b': None, 'c': None}
m['a'] = 1
print(m) #结果为:{'a': 1, 'b': None, 'c': None}
元素访问及遍历
m = {'a':1,'b':2,'c':3}
'b' in m #结果为:True
'd' in m #结果为:False
'd' not in m #结果为:True
m = {'a':1,'b':2,'c':3}
n = m['a']
print(n) #结果为:1
poi = {'name':'shop','city':'shanghai','information':{'address':'somewhere','num':123456}}
print(poi['information']['address']) #结果为:somewhere
m = {'a':1,'b':2,'c':3}
n = m.get('a')
print(n) #结果为:1
n = m.get('d','no-key')
print(n) #结果为:no-key
m = {'a':1,'b':2,'c':3}   
n = m.keys()
print(n) #结果为:dict_keys(['a', 'b', 'c'])
type(n) #结果为:dict_keys
k = list(m.keys())
print(k) #结果为:['a', 'b', 'c']
type(k) #结果为:list
m = {'a':1,'b':2,'c':3}   
n = m.items()   
print(n) #结果为:dict_items([('a', 1), ('b', 2), ('c', 3)])
type(n) #结果为:dict_items
k = list(m.items())
print(k) #结果为:[('a', 1), ('b', 2), ('c', 3)]
type(k) #结果为:list
m = {'a':1,'b':2,'c':3}  
for i in m.keys():
    print(i) #结果为:a\nb\nc
    
for i in m.values():
    print(i) #结果为:1\n2\n3
m = {'a':1,'b':2,'c':3}  
for (k,v) in m.items():
    print("{}-{}".format(k,v)) #结果为:a-1\nb-2\nc-3
字典通用操作
def a() :
    print("apple pie")

dic = {'fun':a}
dic['fun']() #结果为:apple pie

dic = {'fun':a()} #直接出结果为:apple pie
练习

随机新建一个字典结构,key包含姓名,学号,成绩,新建3个学生的字典,并组成字典列表。

st1 = {"姓名":"小明","学号":"001","成绩":93}      
st2 = {"姓名":"小红","学号":"002","成绩":90}       
st3 = {"姓名":"小丽","学号":"003","成绩":69}               
m = [st1,st2,st3]      
print(m)       

#################################

name = ["小明","小红","小丽"]   
num = ["001","002","003"] 
score = [90,80,87]   

k = {"姓名","学号","成绩"}
st1 = dict.fromkeys(k)
st = [st1,st1.copy(),st1.copy()]       

for i in st:
    n = st.index(i)       
    i["姓名"] = name[n]
    i["学号"] = num[n]
    i["成绩"] = score[n]
print(st)       
上一篇 下一篇

猜你喜欢

热点阅读