首页 > 其他 > 详细

第25讲:字典:当索引不好用时

时间:2020-07-21 21:46:37      阅读:67      评论:0      收藏:0      [点我收藏+]

一 字典https://www.cnblogs.com/linupython/p/5880280.html

1 概念/特点

  • 字典是另一种可变容器模型,且可存储任意类型对象。
  • 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的,可哈希表示键值不可变。

总结:

  • 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
  • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
  • 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

2 定义:字典可通过一对花括号来定义,元素内部通过冒号来连接key和对应的value,元素与元素之间通过逗号隔开,可进行自由嵌套。

3 语法格式:d = {key1 : value1, key2 : value2 }

4 字典的相关操作

  • 创建
    • 通过定义字典的过程创建 。 dict = {‘a‘:1,‘b‘:2,‘c‘:3}
    • dict()函数:也可以创建字典
      • 注意:在使用dict函数之前先把原来定义的dict字典给删了,用‘del dict‘命令,否则系统会报错:TypeError: ‘dict‘ object is not callable
      • 通过元组定义:dict1 = dict(((‘F‘,70),(‘i‘,105),(‘s‘,115),(‘h‘,104),(‘C‘,67)))
  • 访问:通过在方括号内引用其键名来访问字典的元素。 print(dict[‘c‘])
  • 修改:
    • 更改已有键值对的值:通过引用其键名来更改特定项的值。dict[‘a‘] = 0
    • 增加新的键值对:通过引用要添加的‘key‘并给该‘key‘赋值来添加新的键值对: dict[‘d‘]=4
  • 删除:字典长度:获取字典的长度(键值对的个数),通过len方法实现。 len(dict)
    • del语句:
      • 删除整个字典。del dict
      • 删除字典中的某个键值对。del dict[‘a‘]
    • clear()方法:清空字典所有键值对,不需要参数。dict.clear()
    • pop()方法:删除字典的某一键值对,其参数直接是键值key,不需要通过字典名称引用。dict.pop(‘c‘)
    • popitem() 方法:删除最后插入的项目(在 3.7 之前的版本中,删除随机项目)。 dict.popitem()
  • 字典排序:通过sorted方法对所有的key进行排序并以列表形式返回。 sorted(dict)
  • 字典类型: 可用type函数查看字典中某一键值对的值的类型。type(dict[‘a‘])
  • 检查键值是否存在:要确定字典中是否存在指定的键,可使用 in 关键字。
    • 1 >>> if a in dict:
      2 ...     print("True")
  • 遍历字典:可以使用 for 循环遍历字典,循环遍历字典时,返回值是字典的键,但也有返回值的方法。
    • 逐个打印字典中的所有键名:
      • 1 >>> for x in dict:
        2 ...     print(x)
    • 逐个打印字典中的所有值:
      • 1 >>> for x in dict:
        2 ...     print(dict[x])
    • 还可以使用 values() 函数返回字典的值
      • 1 >>> for x in dict.values():
        2 ...     print(x)
    • 通过使用 items() 函数遍历键和值
      • >>> for x,y in dict.items():
         ...     print(x,y)

5  字典的常用内置方法

二 课后习题

测试题部分

0. 当你听到小伙伴们在谈论“映射”、“哈希”、“散列”或者“关系数组”的时候,事实上他们就是在讨论什么呢?

答:是的,事实上他们就是在讨论我们这一讲介绍的“字典”,都是一个概念!

1. 尝试一下将数据(‘F‘: 70, ‘C‘: 67, ‘h‘: 104, ‘i‘: 105, ‘s‘: 115)创建为一个字典并访问键 ‘C‘ 对应的值?

1 >>> MyDict = dict(((F, 70), (i,105), (s,115), (h,104), (C,67)))
2 >>> MyDict_2 = {F:70, i:105, s:115, h:104, C:67}
3 >>> type(MyDict)
4 <class dict>
5 >>> type(MyDict_2)
6 <class dict>
7 >>> MyDict[C]
8 67

 

第25讲:字典:当索引不好用时

原文:https://www.cnblogs.com/luoxun/p/13356547.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!