博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 字典和集合
阅读量:5224 次
发布时间:2019-06-14

本文共 1258 字,大约阅读时间需要 4 分钟。

字典的每个键值对用冒号分割,键值对之间用逗号分开,所有键值对包括在{}中。

d = {key1 : value1, key2 : value2 }

键必须是唯一的,值可以不唯一。值可以取任何数据类型,但键必须是不可变对象,如字符串,数字或元组。

字典内置方法

dict.keys()    # 返回一个迭代器

dict.values()      # 返回一个迭代器

dict.items()     # 返回一个迭代器

dict[key]       # 返回键对应的值

dict.get(key,None)  # 返回指定键对应的值,如果没有则返回 None(也可以指定为其他值)

dict.setdefault(key,Value)    # 返回指定键对应的值,如果没有则添加该键到字典中并将值设置为 Value

dict.pop(key)     # 删除一个 key,并返回 value

del dict[key]    # 删除一个 key

dict.update(dict2)   # 把字典合并到另一个字典中

dict.clear()         # 清空字典

key in dict          # 判断 key 是否在字典中

字典和列表比较

1. 字典是按照键来查找,查找的速度极快,不会随着 key 的增加而变慢;列表是按照顺序查找,查找的时间随着元素的增加而增加。

2. 字典占用内存空间大,列表占用内存空间小。

所以,字典是用空间来换取时间的一种方法。

 

集合是一个无序的不重复元素序列。

集合基本操作

s = set()      # 创建集合

s.copy()    # 拷贝集合

s.add()        # 添加元素

s.update(iterable)   # 添加元素

s.remove()  # 移除指定元素,如果不存在,产生 KeyError 异常

s.discard()  # 移除指定元素,如果不存在,不会报错

s.pop()     # 随机移除一个元素

s.clear()      # 移除所有元素

x in s     # 判断元素是否在集合中

 

s.intersection(s2)  # 返回集合的交集

s.union(s2)         # 返回集合的并集

s.difference(s2)    # 返回集合的差集,存在于集合 s 中不存在于集合 s2 中的元素

s.symmetric_difference(s2)  # 返回两个集合中不重复的元素集合

s.intersection_update(s2)     # 移除集合 s 中不存在于集合 s2 中的元素

s.difference_update(s2)        # 移除集合 s 中存在于集合 s2 中的元素

s.symmetric_difference_update(s2)  # 移除集合 s 中存在于集合 s2 中的元素,且添加集合 s2 中不存在于集合 s 中的元素

 

转载于:https://www.cnblogs.com/yutb/p/10782960.html

你可能感兴趣的文章
NOIP2015 运输计划 树上差分+树剖
查看>>
2019.7.26 T1 树剖+双标记
查看>>
P1505 [国家集训队]旅游
查看>>
P3950 部落冲突 树链剖分
查看>>
洛谷P1471 方差 线段树维护区间方差
查看>>
P2286 [HNOI2004]宠物收养场
查看>>
P1342 请柬 建反图+dijkstra
查看>>
P2047 [NOI2007]社交网络
查看>>
数据结构测试1 on 2019.9.24
查看>>
数据结构测试2 on 2019.9.25
查看>>
有道词典_每日一句_2019/07
查看>>
微信小程序 base64格式图片的显示及保存
查看>>
有道词典_每日一句_2019/08
查看>>
微信小程序 报错Failed to load image
查看>>
读书_2019年
查看>>
有道词典_每日一句_总贴
查看>>
读书汇总贴
查看>>
有道词典_每日一句_2019/09
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
微信公众号_Deejo说_2019
查看>>