Python字典和集合
来源:互联网 发布:微信小说系统源码 编辑:程序博客网 时间:2024/05/22 06:13
字典dict
如何创建字典和给字典赋值
创建方法一:
dic = {} #创建 dic = {key1:value2, key2:value2, …} #赋值
字典就是用大括号包起来的的键值对的集合(键值对)
创建方法二:
用dict()函数 dict('name':'jack','age':32) dict(['x',1],['y',2]) adict = {}.fromkeys((‘x','y'), -1) #这样创建的字典的value是一样的,若不给值,则为None。
字典的基本操作
如何访问字典中的值?adict[key] 形式返回键key对应的值value,如果key不在字典中会引发一个KeyError,如何检查key是否在字典中?has_key() 形如:adict.haskey(‘name') 有–>True,无–>False b、in 、not in 形如:'name' in adict 有–>True,无–>False如何更新字典? a、添加一个数据项(新元素)或键值对adict[new_key] = value 形式添加一个项 b、更新一个数据项(元素)或键值对adict[old_key] = new_value c、删除一个数据项(元素)或键值对del adict[key] 删除键key的项 / del adict 删除整个字典adict.pop(key) 删除键key的项并返回key对应的 value值
相关的函数
len() 返回字典的长度hash() 返回对象的哈希值,可以用来判断一个对象能否用来作为字典的键
字典的方法
dict.keys() 返回一个包含字典所有KEY的列表;
dict.values() 返回一个包含字典所有value的列表;
dict.items() 返回一个包含所有(键,值)元祖的列表;
dict.clear() 删除字典中的所有项或元素;
dict.copy() 返回一个字典浅拷贝的副本;
dict.fromkeys(seq, val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);
dict.has_key(key) 如果key在字典中,返回True,否则返回False。 现在用 in 、 not in;
dict.iteritems()、adict.iterkeys()、adict.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
dict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
dict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
dict.update(bdict) 将字典bdict的键值对添加到字典adict中。
字典的遍历
for item in dic.items(): print (item)for value in dic.values(): print (value)for key in dic.keys(): print (key)for item,value in adict.items(): print ('key=%s, value=%s' % (item, value))或for item,value in adict.iteritems(): print ('key=%s, value=%s' %(item, value))
注意:
键与值用冒号“:”分开;
项与项用逗号“,”分开;
字典中的键必须是唯一的不能重复,而值可以不唯一(数据类型可多种)。
集合 set
运算操作:
s1 = {0} s2 = {i % 2 for i in range(10)} s = set('hi') t = set(['h', 'e', 'l', 'l', 'o']) print(s.intersection(t), s & t) # 交集 print(s.union(t), s | t) # 并集 print(s.difference(t), s - t) # 差集 print(s.symmetric_difference(t), s ^ t) # 对称差集 print(s1.issubset(s2), s1 <= s2) # 子集 print(s1.issuperset(s2), s1 >= s2) # 包含
- python字典和集合
- Python字典和集合
- Python字典和集合
- Python字典和集合
- **PYTHON** 字典和集合
- Python字典和集合
- python练习题--字典和集合
- Python之集合和字典
- [python相关]python字典和集合
- python字典和集合,frozenset和哈希值
- Python核心编程之字典和集合
- python入门--字典dict和集合set
- python学习11-集合和字典
- Python 元组、集合和字典 实例
- Python--映像和集合类型(字典)
- python中的 元组 字典 和集合
- python篇4_集合和字典
- Python学习——字典和集合
- Error parsing XML: An invalid XML character (Unicode:0x1f) was found
- 常用技术代码或问题快现-不断更新中
- 机器学习之异常检测
- HTML
- visio studio code 简介
- Python字典和集合
- 16 - 12 - 18 十大排序算法总结(三) 之 归并排序
- java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 解决方法
- 在CentOS 7上通过Apache和mod_wsgi运行Django应用
- Xcode 启动页面关闭 不显示
- 数组交换
- Matlab与线性代数 -- 矩阵的左右翻转、上下翻转和矩阵的逆时针旋转90操作
- Starting MySQL.. ERROR! The server quit without updating PID file
- 初始化块和静态初始化块