美文网首页
字典dictionary

字典dictionary

作者: 进步小小青年 | 来源:发表于2017-08-11 10:35 被阅读0次

字典(dictionary)

  • 字典可看作是键(key)与值(value)之间的一系列一一对应关系。
  • 字典和列表相似,但是列表由整数作为索引,字典由key作为索引。
  • 字典中的key是没有固定顺序的,列表索引为0、1、2……有顺序。
  • 列表和字典都可以通过 [ ] 进行选择,更新,和删除
  • 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
    d = {key1 : value1, key2 : value2 }
  • 键必须是唯一的,但值则不必。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
  • 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
  • 两个重要的点需要记住:
    1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
    2)键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行

在一对一的查找方面,字典比列表更方便

countries and captials 是两个列表,记录了欧洲的一些国家及其对应的首都

countries = ['spain', 'france', 'germany', 'italy'] #国家
capitals = ['madrid', 'paris', 'berlin', 'rome'] #首都

打印德国首都

ind_ger = countries.index("germany") # 先获取德国对应的数字索引
print(capitals[ind_ger]) #索引需用到方括弧

用字典可以更好的实现这个功能

定义字典europe

europe = {'spain':'madrid', 'france':'paris','germany':'berlin','italy':'rome'}
print(europe['germany'])

获取字典的key和values

用keys()方法获取字典的索引

In [1]: europe.keys()
Out[1]: dict_keys(['spain', 'france', 'germany', 'italy'])

用values()方法获取字典的值

In[2]:europe.values()
Out[2]:dict_values(['madrid', 'paris', 'berlin', 'rome'])

用items()方法获取 key-value 键值对

In[3]:europe.items() # 每个元素是元组
Out[3]:dict_items([('spain', 'madrid'), ('france', 'paris'), ('germany', 'berlin'), ('italy', 'rome')])

通过键 key 获取 value 值

输出france对应的值

europe['france']#用的是方括弧

我们也可以使用 get() 方法来获取key对应的值

europe.get('france')#用的是圆括弧

检查某个索引是否在字典里

'britain' in europe

当key不在字典中时,使用 [ ] 将出错

europe['britain']

KeyError Traceback (most recent call last)
<ipython-input-16-df76e5bbdd8d> in <module>()
1 # 当key不在字典中时,使用 [ ] 将出错
----> 2 europe['britain']

KeyError: 'britain

如果key不在字典里,get方法默认返回None

europe.get('britain')

也可以自定义返回值,如果key不在字典里,返回‘Unknown’

europe.get('britain', 'Unknown')

字典的增删改

增加新的键-值对

europe['britain'] = 'london'
europe

注意这里的输出顺序和我们输入的顺序不一致,也再一次说明了字典是无序的

{'britain': 'london',
'france': 'paris',
'germany': 'berlin',
'italy': 'rome',
'spain': 'madrid'}

字典的值是可修改的

europe['britain'] = 'London'#把london首字母大写
print(europe)
{'spain': 'madrid', 'france': 'paris', 'germany': 'berlin', 'italy': 'rome', 'britain': 'London'}

删除某个键-值对

del(europe['britain'])
print(europe)
{'spain': 'madrid', 'france': 'paris', 'germany': 'berlin', 'italy': 'rome'}

作业:

字典的值可以是字典本身, 以提供更多信息,例如:

europe = { 'spain': { 'capital':'madrid', 'population':46.77 },
'france': { 'capital':'paris', 'population':66.03 },
'germany': { 'capital':'berlin', 'population':80.62 },
'norway': { 'capital':'oslo', 'population':5.084 } }

1 打印法国首都

2 加入意大利(italy)的首都(roma)和人口(population 59.83)

1.europe.get('france').get('capital')
europe['france']['capital']

2.europe['italy']={'capital': 'rome', 'population': 59.93}
europe

相关文章

  • Swift第二篇(字典&集合)

    Swift字典:Dictionary Swift中的字典Dictionary与Foundation中的NSDict...

  • 字典&&列表&&元组

    {字典}&&[列表]&&(元组) 字典(dictionary) 创建dictionary:每个元素都是一个key-...

  • Python 字典(Dictionary)(1)

    Python 字典(Dictionary) 访问字典里的值

  • 字典-Dictionary

    这里要讲到的字典也是一种数据类型,你别理解成新华字典或者成语字典就Ok了,它其实是能够存储任何数据类型的对象......

  • 字典dictionary

    字典(dictionary) 字典可看作是键(key)与值(value)之间的一系列一一对应关系。 字典和列表相似...

  • dictionary字典

    获取字典指定key的值 dict.get(key[, default])VSdict[key] dict.get(...

  • Dictionary字典

    初始化 获取值 修改值 删除值 获取网址的key,value值

  • 字典(Dictionary)

    本文学习参考:http://www.runoob.com/python/python-dictionary.htm...

  • Swift字典

    ``` // 字典格式 // 字典名称 = {字典关键字}() var emptyDic = Dictionary...

  • YYModel 之个人Tips

    1.如何判断字典为空 if (!dictionary || dictionary == (id)kCFNull) ...

网友评论

      本文标题:字典dictionary

      本文链接:https://www.haomeiwen.com/subject/zsdlrxtx.html