美文网首页
Python学习——字典和集合

Python学习——字典和集合

作者: 心若鉴 | 来源:发表于2019-11-25 22:25 被阅读0次

Python学习——字典和集合

泛映射类型

(1)什么是可散列的数据类型?
如果一个对象是可散列的,那么在这个对象的生命周期中,它的散列值是不变的,而且这个对象需要实现__hash__()方法。另外可散列对象还要__eq__()方法,这样才能跟其他键作比较。如果两个可散列对象是相等的,那么它们的散列值一定是一样的。

(2)什么是hash()函数呢?
hash()用于获取一个对象(字符串或者数值等)的哈希值

>>>>hash('test')
>5675332754190376566
>>>>hash(1)
>1

(3)可散列类型数据:
原子不可变数据类型(str、bytes和数值类型)、frozenset、元组(包含的所有元素都是可散列类型)是可散列的。
(4)什么是frozenset()函数呢?
frozenset()返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
class frozenset([iterable])(iterable——可迭代的对象,比如列表、字典、元组等)
返回值:返回新的frozenset对象,如果不提供任何参数,默认会生成空集合。

字典构造的多种方法

>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})
>>> a == b == c == d == e
True
>>> a
{'one': 1, 'two': 2, 'three': 3}
>>> b
{'one': 1, 'two': 2, 'three': 3}
>>> c
{'one': 1, 'two': 2, 'three': 3}
>>> d
{'two': 2, 'one': 1, 'three': 3}
>>> e
{'three': 3, 'one': 1, 'two': 2}

常见的映射方法

三种映射类型的方法列表

dict defaultdict OrderedDict
d.default_factory __missing__函数中被调用的函数,用以给未找到的元素设置*
d.__delitem__(k) del d[k],移除键位k的元素
d.fromkeys(it, [initial]) 将迭代器it里的元素设置为映射里的键,如果有initial参数,就把它作为这些键对应的值(默认是None)
d.get(k, [deault]) 没有键k,则返回None或者deault
d.move_to_end(k, [last]) 把键为k的元素移动到最靠前或者最靠后的位置(last的默认值是True)
d.popitem() 随机返回一个键值对并从字典里移除它
d.setdefault(k, [default]) 若字典里有键k,则把它对应的值设置为default,然后返回这个值;若无,则让d[k] = default,然后返回default
d.update(m, [**kargs]) m可以是映射或者键值对迭代器,用来更新d里对应的条目

注:只记录了自己觉得不太认识一些

字典中items(),keys(),values()的区别

>>> dict = {1:'a',2:'b',3:'c'}
>>> dict.values() #values()获得的是字典里的所有值
dict_values(['a', 'b', 'c'])
>>> dict.keys() #keys()获得的是字典里的所有键
dict_keys([1, 2, 3])
>>> dict.items() #items()获得的是字典里的所有键值对
dict_items([(1, 'a'), (2, 'b'), (3, 'c')])

字典中处理找不到的键

参见这篇文章,对《流畅的python》中例题的解析

字典中处理找不到的键

转载自https://blog.csdn.net/qq_43168521/article/details/102998994

相关文章

  • Python从入门到精通(day03)

    接着学习世界上最美丽的语言,Python,数据类型还有字典和集合没有学,今天我们继续把他们学完。 字典和集合 字典...

  • Python学习——字典和集合

    Python学习——字典和集合 泛映射类型 (1)什么是可散列的数据类型?如果一个对象是可散列的,那么在这个对象的...

  • 【10.27】Python语法练习6/17

    学习任务:字典和集合 一、字典python中内置里字典,使用键-值(key-value)存储,具有极快的查找速度。...

  • Python学习笔记-字典和集合

    1、字典 创建的方法 各种内置方法 fromkeys()创建并返回一个新字典 key()用于返回字典中的键,val...

  • Python学习笔记-集合和字典

    集合 集合写在大括号里,元素之间用逗号隔开,创建一个空集合必须用 set() 而不是 { },因为因为 { } 是...

  • python 字典相关操作

    1. python 在列表、字典、集合中筛选数据 列表:filter函数、列表解析 字典:字典解析 集合:集合解析...

  • 2020-04-26

    Python 入门 学习使用 Python 处理数字与字符串,编写函数和条件语句;操作列表、集合、字典等常见数据类...

  • Python字典和集合

    init。。

  • python 字典和集合

    一、复习(列表) 1.容器,可以同时存放多个数据。可变,有序2.元素,可以是任何类型的数据,一个列表可以同时存放不...

  • Python字典和集合

    1 字典基础操作 1.1 创建字典 通过{}操作符创建字典aDict = {'name':'ke', 'age':...

网友评论

      本文标题:Python学习——字典和集合

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