Python-字典

字典

简单的字典

字典与列表不同 列表使用的是【】而字典使用的是{} 并且在字典中有键-值的对应关系

使用字典

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',
  },
}

不要忘了每对键值后面加逗号

上一篇:Diaoyu Island, Land of Controversy


下一篇:数据结构:队列queue