zoukankan      html  css  js  c++  java
  • 2-字典、集合的原理和应用

    1.集合----无序

    1⃣️空集合 set()

    注意,直接定义一个空的{},不是集合,是空字典

    2⃣️集合是无序的,没有key,

    3⃣️集合的最常见的应用:对list去重 

    下面对集合的基本操作进行举例说明:

    #空集合的定义,()
    s = set()
    ##1.集合对list去重 li = [1,2,3,4,54,3,2,1,3,5,3,2,3] print(list(set(li))) #output:[1, 2, 3, 4, 5, 54] ##2.集合是可变的,添加元素add s = {2,3,4} s.add(5) print(s) #output:{2, 3, 4, 5} ##3.集合元素的删除ermove s2 = {1,2,3,4,5} s2.remove(3) print(s2) #output:{1, 2, 4, 5} ##4.更新集合update,一次可以更新多个元素,类似list的extend s3 = {3,4,5,6,7,8,9,0} s4 = {0,1,2} s3.update(s4) print(s3) #output:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ##5.复制copy s5 = {1,3,5,7} s55 = s5.copy() print(s55) #output:{1, 3, 5, 7} ##6.清空clear() s6 = {2,4,6,8} s6.clear() print(s6) # set()

    2.字典 

    1⃣️{key:value}表示,key是固定不可变的。

    字典详细介绍,见我另一篇博文:https://www.cnblogs.com/ananmy/p/12748491.html

    3.字典、元组的存储

    1⃣️首先要知道,字典和元组的实现原理是一样的,都是存储在列表中的,唯一不同的是hash函数操作的对象不一样;

    字典:hash函数操作的是它的key,存储在2个list中,一个存key,一个存value,实现dict的方式,叫做hash Map/Table,(Map表示通过key来寻找value的过程)

    集合:hash函数直接操作它的元素,存储在一个list中,实现set的方式叫做hash set

    2⃣️

    创建一个字典时,python会分配2个list进行存储,字典的key通过hash函数得到一个值,这个值除以python分配的列表的长度,得到的余数,作为下标,会把value存储在该下标的list中,key存储在另一个list中对应的下标位置。-----存储过程是无序的,散列表

  • 相关阅读:
    Thank you for your resubmission. Performance
    node.js
    CSS
    2016第三本《曾国藩的正面和侧面》
    2016下第二本《启示录-产品篇》
    2016下第2本《启示录 -流程篇》
    2016下第2本《启示录 -人员篇》
    《点石成金-访客至上的web和移动可用性设计秘籍》读书笔记
    互联网二三事
    互联网二三事
  • 原文地址:https://www.cnblogs.com/ananmy/p/13924831.html
Copyright © 2011-2022 走看看