字典
简单的字典
字典与列表不同 列表使用的是【】而字典使用的是{} 并且在字典中有键-值的对应关系
使用字典
name={'first name':'shi hao','last name':'zhang'}
在字典中 键-值都需要用单引号引用 并且在键-值之间用冒号连接 不同的键值之间需要用逗号分隔开
访问字典中的键-值
print(name['first name'])
在访问字典时 print后跟字典的名称 然后再用【】加单引号引出键的名称 会自动找的当前键所对应的值 并将它输出
添加键-值对
name={'first name':'shi hao','last name':'zhang'}
name['age']=20
输入字典名 【】加键名 别忘了用单引号引起 然后再等于值就可
创建空字典
name={}
修改字典中的值
name={'first name':'shi hao','last name':'zhang','age':20}
name['age']=21
删除键-值对
name={'first name':'shi hao','last name':'zhang','age':20}
del name['age']
遍历字典
遍历所有的键值
river={
'huang he':'china',
'nile':'egypt',
'chang jiang':'china',
}
for rivers,country in river.items():
print('The '+rivers.title()+'runs through'+country.title())
使用一个for循环 并声明两个变量river country分别来储存键 值 并使用items方法(以列表的形式返回遍历的键 值) 注意:遍历字典时 键值对的返回顺序也与储存顺序不同
只遍历字典中所有的键
river={
'huang he':'china',
'nile':'egypt',
'chang jiang':'china',
}
for rivers in river.keys():
print(rivers.title())
使用了keys()方法 此时只会输出字典中所有的键
按顺序遍历字典中所有的键
river={
'huang he':'china',
'nile':'egypt',
'chang jiang':'china',
}
for rivers in sorted(river.keys()):
print(rivers.title())
这里使用了sorted方法 (按照字母顺序排序)
遍历字典中所有的值
river={
'huang he':'china',
'nile':'egypt',
'chang jiang':'china',
}
for country in river.values():
print(country.title())
使用了values()方法 此时只会遍历字典中的值
当字典中的值可能存在多个重复 我们有时输出需要删除重复的值 则可以使用集合set(集合类似于列表 但是每个元素必须独一无二)
river={
'huang he':'china',
'nile':'egypt',
'chang jiang':'china',
}
for countrys in set(river.values()):
print(countrys.title())
使用了set 并且只是对字典的值进行输出 相同的则只会输出一个
嵌套
字典列表
alien_0={'color':'green','point':5}
alien_1={'color':'green','point':5}
alien_2={'color':'green','point':5}
aliens=[alien_0,alien_1,alien_2]
print(aliens)
在字典中储存列表
places={
'zhang':['bei jing','la sa'],
'jiang':['xi an','wu han'],
}
for m,n in places.items():
print(m)
for p in n:
print(p)
结果:
zhang
bei jing
la sa
jiang
xi an
wu han
bei jing
列表的部位是值 你首先用n来储存字典中的值 然后再有p来一个个循环输出
字典中储存字典
cities={
'bei jing':{
'coun':'china',
'population':'600w',
'fact':'历史',
},
'new yourk':{
'coun':'am',
'population':'200w',
'fact':'2b',
},
}
不要忘了每对键值后面加逗号