python中set的意思,python中set的用法

  python中set的意思,python中set的用法

  dict常用操作

  向前

  清除()3360清空字典

  Copy () 3360返回一个轻量级副本

  Fromkeys():将iterable对象中的每个元素作为一个键和相同的值拼写到一个字典中。

  Get():根据键返回值,如果没有对应的键值对,则返回None。您还可以指定默认返回值,这与索引访问相比不会生成异常。

  Items():返回dict_items类型,支持迭代,键值对以元组形式组织。

  Setdefault():获取键对应的值,先调用get(),如果键-值对不存在,则添加。

  Update () 3360合并字典,或者由键值对和元组组成的迭代对象。

  使用案例

  #1 .清除()

  d={name:MetaTian ,age:22}

  d .清除()

  #2 .复制()

  new_dict=d.copy()

  new_dict[age]=18

  打印(新字典)

  打印(d)

  #结果:

  #{ 年龄 :18,姓名 : 元天 }

  #{age:22 , name:MetaTian}

  #3.fromkeys()

  d=dict.fromkeys(范围(3), MetaTian )

  打印(d)

  #结果:

  #{0: 元天,1: 元天,2: 元天 }

  #4.get()

  print(d.get(2))

  print(d.get(3))

  print(d.get(3, null ))

  #结果:

  #MetaTian

  #无

  #null

  #5 .项目()

  打印(type(d.items()))

  打印(d.items())

  #结果:

  #classdict_items

  #dict_items([(0, MetaTian ),(1, MetaTian ),(2, MetaTian )))

  #6.setdefault()

  d={}

  Value=d.setDefault (name , meta Tian) #如果没有name键,则添加它。

  打印(数值,d)

  #结果:

  # meta Tian { name : meta Tian }

  #7 .更新()

  d1={1:a}

  d2={2:b}

  d1 .更新(d2)

  d2.update([(3, c ),(4, d)])

  打印(d1)

  打印(d2)

  #结果:

  #{1:a ,2:b}

  #{2:b ,3:c ,4: d }set和frozenset

  向前

  Set是可变集合,而frozenset是不可变集合。

  集合中的元素顺序错误,没有重复。

  用例

  Set(Iterable)用于构造可变集合对象。

  通过frozenset(Iterable)构建不可变的set对象

  s=设置( 12345666 )

  Fs=冻结集([a , b , c , a]) #不可变类型,可以作为dict的键

  印刷品

  打印(fs)

  #结果:

  #{6,1,4,5,3,2}

  #frozenset({b , a , c})

  向集合中添加元素

  添加()

  更新()

  s1,s2=集合( 123 ),集合( 234 )

  s1 .更新(s2)

  s2.add(5 )

  打印(s1)

  打印(s2)

  #结果:

  #{1,2,3,4}

  #{2,3,5,4}

  集合运算

  -可怜。

  传递

  合并

  s1,s2=集合( 123 ),集合( 234 )

  打印(s1-s2)

  打印(s1s2)

  打印(s1s2)

  #结果:

  #{1}

  #{2,3}

  #{3 , 1 , 2 , 4 }dict和set的实现原理

  向前

  dict和set的查找性能远高于list。

  dict和set的底层是用哈希表存储的,所以dict的键也要求哈希,所有不可变的对象都要哈希。

  哈希原理。

  以字典为例。

  在存储之前,需要通过哈希函数计算key的值,得到存储索引。如果得到的结果已经被使用,应该处理冲突,重新计算后再进行存储。

  自定义类可以存储在dict中,通过实现__hash__()来设置。

  因此,特定的存储顺序可能与添加元素的顺序有关。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: