python中的dict与set

python内置字典:dict支持key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样取出来的时候才能根据key拿到value。

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会将前面的值覆盖掉。

如果key不存在,dict就会报错

要避免key不存在的错误,有两种方法:

1)通过in判断key是否存在

>>>d={'a':'1'}

>>>a in d

True

2)通过dict提供的get方法,如果key不存在啊,可以返回None,或者指定的value

>>>d.get('b')

None

>>>d.get('b',-1)

-1

要删除一个key,用pop(key)方法,对应的value也会从dict中删除

>>>d.pop('a')

dict内部存放的顺序与key放入的顺序是没有关系的

dict的key必须是不可变对象,这是因为dict要根据key来计算value的存储位置,这个通过key计算位置的算法称为哈希算法,要保证hash的正确性,作为key的对象就不能变。

在python中,字符串、整数都是不变的,可以放心作为key,而list是可变的,就不能作为key。

set与dict类似,也是一组key的集合,但不存储value,由于key不能重复,所以,在set中,没有重复的key

set显示的顺序也不代表set是有序的

>>>s = set([1,2,3])

>>>s

{1,2,3}

通过add(key)方法可以添加元素到set中,可以重复添加

>>>s.add()

>>>s

{1,2,3,4}

通过remove(key)方法删除元素

>>>s.remove(4)

>>>s

{1,2,3}

set可以看成数学重复元素的集合,因此,两个set可以做数学意义上的交集和并集操作。

>>>s1=set([1,2,3])

>>>s2=set([2,3,4])

>>>s1&s2

{2,3}

>>>s1|s2

{1,2,3,4}

set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放可变对象。

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值