AYE89

coding & learning

导航

Python的dict与set

Posted on 2018-03-13 10:31  AYE89  阅读(164)  评论(0编辑  收藏  举报

一、dict

其他语言中也称为map,使用键-值(key-value)存储

特点:

  • 具有极快的查找速度:可以直接由key计算出value所在的内存地址,而list采用搜索的方式;dict付出的代价是内存占用大
  • key值不能重复;
  • 属于可变对象

修改dict

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};  # initialization
 
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

 

key特性 

  • 不可重复;

  • 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行; 

 

循环

for key in sorted(dictionary.keys()):
内置函数:
dict.keys()
以列表返回一个字典所有的键

# username,userinfo 相当于 key,value
for username,userinfo in users.items():

dict.items()
以列表返回可遍历的(键, 值) 元组数组  

二、set

是一组key的集合,但不存储value。set可以看成数学意义上的无序和无重复元素的集合

比如  { 1, 2, 3, 4 }

  • set内的元素没有顺序;
  • 存储key值,key值不可重复;
  • set中只可放入不可变对象,不可以放入可变对象;

两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}