标签:int 方法参数 存在 修改 iptable mod err list() 返回值
字典是另一种可变容器模型,且可存储任意类型对象
字典的每个键值(key=>value)对用冒号":"分割,每个键值对之间用逗号","分割,整个字典包括在花括号"{}"中,格式如下所示:
dict = {key1:value1,key2:value2,......,keyN:valueN}
注意:
键必须是唯一的,但值则不必
值可以取任何数据类型,但键则必须是不可变的,如: 字符串,数字或元组
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} print(dict) 输出结果为: {‘name‘: ‘lrving‘, ‘gender‘: ‘boy‘, ‘age‘: 23, ‘identity‘: ‘student‘, ‘university‘: ‘tsinghua‘}
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} print(dict[‘name‘]) #访问字典dict中键name的值 print(dict[‘age‘]) #访问字典dict中键age的值 输出结果为: lrving 23
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} print(dict) dict[‘age‘] = 20 #更新键age的值 dict[‘university‘] = ‘Peking University‘ #更新键university的值 print(dict) 输出结果为: {‘name‘: ‘lrving‘, ‘gender‘: ‘boy‘, ‘age‘: 23, ‘identity‘: ‘student‘, ‘university‘: ‘tsinghua‘} {‘name‘: ‘lrving‘, ‘gender‘: ‘boy‘, ‘age‘: 20, ‘identity‘: ‘student‘, ‘university‘: ‘Peking University‘}
能删单一的元素也能清空字典,清空只需一项操作
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} del dict[‘university‘] #删除键university print(dict) 输出结果为: {‘name‘: ‘lrving‘, ‘gender‘: ‘boy‘, ‘age‘: 23, ‘identity‘: ‘student‘}
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} dict.clear() #清空字典 print(dict) 输出结果为: {}
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} del dict print(dict) 输出结果为:(但这会引发一个异常,因为用执行 del 操作后字典不再存在) Traceback (most recent call last): File "/Users/liwenfeng/PycharmProjects/Python/study.py", line 157, in <module> print(dict[‘name‘]) TypeError: ‘type‘ object is not subscriptable
说明字典dict已经被删除了
字典值可以是任何的python对象,既可以是标准的对象,也可以是用户定义的,但键不行
两个重要的点需要记住:
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘age‘:34,‘name‘:‘james‘} #键name和age出现两次 print(dict) 输出结果为: {‘name‘: ‘james‘, ‘gender‘: ‘boy‘, ‘age‘: 34, ‘identity‘: ‘student‘} #可以看出键name和age只识别了后面的两个值james和34
dict = {[‘name‘]:‘lrving‘,‘gender‘:‘boy‘,[‘age‘]:23} print(dict[‘name‘]) 输出结果为: Traceback (most recent call last): File "/Users/liwenfeng/PycharmProjects/Python/study.py", line 158, in <module> dict = {[‘name‘]:‘lrving‘,‘gender‘:‘boy‘,[‘age‘]:23} TypeError: unhashable type: ‘list‘
由此可看出在字典中使用列表是不可行的
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} print(len(dict)) 输出结果为: 5
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} print(str(dict)) 输出结果为: {‘name‘: ‘lrving‘, ‘gender‘: ‘boy‘, ‘age‘: 23, ‘identity‘: ‘student‘, ‘university‘: ‘tsinghua‘}
dict = {‘name‘:‘lrving‘,‘gender‘:‘boy‘,‘age‘:23,‘identity‘:‘student‘,‘university‘:‘tsinghua‘} print(type(dict)) 输出结果为: <class ‘dict‘>
删除字典内所有元素
返回一个字典的浅复制
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
返回指定键的值,如果值不在字典中返回default值
如果键在字典dict里返回true,否则返回false
以列表返回可遍历的(键,值)元组数组
返回一个迭代器,可以使用"list()"来转换为列表
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
把字典dict2的键/值对更新到dict里
返回一个迭代器,可以使用"list()"来转换为列表
删除字典给定键"key"所对应的值,返回值为被删除的值;key值必须给出;否则,返回default值
随机返回并删除字典中的最后一对键和值
集合(set)是一个"无序的不重复元素序列"
如果集合中有两个或两个以上相同的元素,则在取值时只会取一个(去重)
可以使用大括号"{ }"或者"set()"函数创建集合,注意: 创建一个空集合必须用"set()"而不是"{ }",因为"{ }"是用来创建一个空字典
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} b = set(‘lrving11curry30klay11‘) print(a) print(b) 输出结果为: {‘kobe‘, ‘heat‘, ‘AD‘, ‘wade‘, ‘3‘, 23, ‘james‘, ‘lakers‘} {‘n‘, ‘g‘, ‘1‘, ‘a‘, ‘u‘, ‘k‘, ‘0‘, ‘l‘, ‘i‘, ‘v‘, ‘3‘, ‘r‘, ‘c‘, ‘y‘}
a = set(‘cbdcjdsuac‘) b = set(‘ejciaugejasye‘) print(a) print(b) print(a - b) #a中包含但b中不包含的元素 print(b - a) #b中包含但a中不包含的元素 print(a | b) #a和b的并集 print(a & b) #a和b的交集 print(a ^ b) #不同时包含a和b的元素 输出结果为: {‘c‘, ‘u‘, ‘a‘, ‘s‘, ‘j‘, ‘b‘, ‘d‘} {‘u‘, ‘a‘, ‘s‘, ‘y‘, ‘j‘, ‘e‘, ‘i‘, ‘c‘, ‘g‘} {‘b‘, ‘d‘} {‘i‘, ‘y‘, ‘g‘, ‘e‘} {‘i‘, ‘c‘, ‘g‘, ‘u‘, ‘a‘, ‘s‘, ‘y‘, ‘j‘, ‘e‘, ‘b‘, ‘d‘} {‘u‘, ‘a‘, ‘s‘, ‘j‘, ‘c‘} {‘b‘, ‘y‘, ‘e‘, ‘i‘, ‘d‘, ‘g‘}
a = {x for x in ‘abracadabra‘ if x not in ‘abc‘} print(a) 输出结果为: {‘d‘, ‘r‘}
方法一:
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} a.add(‘NBA‘) print(a) 输出结果为: {‘heat‘, ‘kobe‘, ‘NBA‘, ‘lakers‘, ‘AD‘, ‘wade‘, ‘james‘, ‘3‘, 23}
方法二:
可以添加元素,且参数可以是列表,元组,字典等,语法格式如下
a.update(x) #"x"可以有多个,用逗号隔开
示例:
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} a.update([1,‘lrving‘,‘Antetokounmpo‘]) #在集合中添加一个列表 a.update((2,‘six‘,‘five‘)) #在集合中添加一个元组 a.update({‘name‘:‘Howard‘}) #在集合中添加字典时,只会添加字典的键,而不会是键的值 print(a) 输出结果为: {1, ‘heat‘, 2, ‘name‘, ‘Antetokounmpo‘, ‘five‘, ‘AD‘, ‘wade‘, ‘kobe‘, ‘lrving‘, ‘six‘, ‘lakers‘, 23, ‘james‘, ‘3‘}
方法一:
语法格式:
a.remove(x) #将元素"x"从集合"a"中移除,如果元素不存在,则会发生错误
示例:
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} a.remove("heat") print(a) 输出结果为: {‘3‘, ‘kobe‘, ‘james‘, 23, ‘lakers‘, ‘wade‘, ‘AD‘}
方法二:
语法格式:
a.discard(x)
示例:
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} a.discard(‘heat‘) a.discard(‘Cleveland‘) #当覆盖的元素在集合中不存在时,也不会报错 print(a) 输出结果为: {‘3‘, ‘james‘, ‘lakers‘, ‘wade‘, 23, ‘kobe‘, ‘AD‘}
方法三:
语法格式:
a.pop() #这种方法是随机删除集合中的某一个元素
示例:
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} a.pop() print(a) 输出结果为: (此结果是连续执行两次的结果) {‘kobe‘, ‘wade‘, ‘AD‘, ‘james‘, 23, ‘heat‘, ‘lakers‘} #删除了‘3‘这个元素 {‘heat‘, ‘wade‘, ‘kobe‘, ‘lakers‘, ‘james‘, 23, ‘3‘} #删除了‘AD‘这个元素
注意: 在交互模式下,这种方法是删除集合的第一个元素----切记! 切记! 切记!
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} print(len(a)) 输出结果为: 8
语法格式:
a.clear()
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} a.clear() print(a) 输出结果为: set()
语法格式:
x in a #返回结果为True和Flase
a = {‘lakers‘,‘james‘,23,‘heat‘,‘wade‘,‘3‘,‘kobe‘,‘AD‘} print(‘cleveland‘ in a) print(23 in a) 输出结果为: False True
为集合添加元素
移除集合中的所有元素
拷贝一个集合
返回多个集合的差集
移除集合中的元素,该元素在指定的集合也存在
删除集合中指定的元素
返回集合的交集
返回集合的交集
判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False
判断指定集合是否为该方法参数集合的子集
判断该方法的参数集合是否为指定集合的子集
随机移除元素
移除指定元素
返回两个集合中不重复的元素集合
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
返回两个集合的并集
给集合添加元素
标签:int 方法参数 存在 修改 iptable mod err list() 返回值
原文地址:https://www.cnblogs.com/lrvingli/p/11800325.html