用 del 语句删除字典或字典的元素。
dis = {'a': 1, 'b': [1, 2, 3], 9: {'name': 'hello'}} del dis[9]['name'] print(dis) del dis # 删除字典 # {'a': 1, 9: {}, 'b': [1, 2, 3]} 字典函数len(dict) 计算字典元素个数,即键的总数
str(dict) 输出字典,以可打印的字符串表示
type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型
key in dict 判断键是否存在于字典中
字典方法
dict.clear()
删除字典内所有元素
dict.copy()
返回一个字典的浅复制
dict.fromkeys(seq[, value])
创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值
dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回默认值
dict.items()
以列表形式返回可遍历的(键, 值)元组数组
dict.keys()
以列表返回一个字典所有的键
dict.values()
以列表返回字典中的所有值
dict.setdefault(key, default=None)
如果 key 在字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
dict.update(dict2)
把字典参数 dict2 的键/值对更新到字典 dict 里
dic1 = {'a': 'a'} dic2 = {9: 9, 'a': 'b'} dic1.update(dic2) print(dic1) # {'a': 'b', 9: 9}
dict.pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key 值必须给出,否则返回 default 值。
dict.popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)
字典推导式构造函数 dict() 直接从键值对元组列表中构建字典。如果有固定的模式,列表推导式指定特定的键值对:
>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)]) {'sape': 4139, 'jack': 4098, 'guido': 4127}此外,字典推导可以用来创建任意键和值的表达式词典:
>>> {x: x**2 for x in (2, 4, 6)} {2: 4, 4: 16, 6: 36}如果关键字只是简单的字符串,使用关键字参数指定键值对有时候更方便:
>>> dict(sape=4139, guido=4127, jack=4098) {'sape': 4139, 'jack': 4098, 'guido': 4127} 集合(set)集合是一个无序不重复元素的序列
创建集合可以使用大括号 {} 或者 set() 函数创建集合
创建一个空集合必须用 set() 而不是 {},因为 {} 是用来创建一个空字典
set(value) 方式创建集合,value 可以是字符串、列表、元组、字典等序列类型
创建、添加、修改等操作,集合会自动去重
{1, 2, 1, 3} # {} {1, 2, 3} set('12345') # 字符串 {'3', '5', '4', '2', '1'} set([1, 'a', 23.4]) # 列表 {1, 'a', 23.4} set((1, 'a', 23.4)) # 元组 {1, 'a', 23.4} set({1:1, 'b': 9}) # 字典 {1, 'b'} 添加元素将元素 val 添加到集合 set 中,如果元素已存在,则不进行任何操作:
set.add(val)也可以用 update 方法批量添加元素,参数可以是列表,元组,字典等:
set.update(list1, list2,...) 移除元素如果存在元素 val 则移除,不存在就报错:
set.remove(val)如果存在元素 val 则移除,不存在也不会报错:
set.discard(val)随机移除一个元素:
set.pop() 元素个数与其他序列一样,可以用 len(set) 获取集合的元素个数。
清空集合 set.clear() set = set() 判断元素是否存在 val in set 其他方法
set.copy()
复制集合
set.difference(set2)
求差集,在 set 中却不在 set2 中
set.intersection(set2)
求交集,同时存在于 set 和 set2 中
set.union(set2)
求并集,所有 set 和 set2 的元素
set.symmetric_difference(set2)
求对称差集,不同时出现在两个集合中的元素
set.isdisjoint(set2)
如果两个集合没有相同的元素,返回 True
set.issubset(set2)
如果 set 是 set2 的一个子集,返回 True
set.issuperset(set2)
如果 set 是 set2 的一个超集,返回 True
集合计算 a = set('abracadabra') b = set('alacazam') print(a) # a 中唯一的字母 # {'a', 'r', 'b', 'c', 'd'} print(a - b) # 在 a 中的字母,但不在 b 中 # {'r', 'd', 'b'} print(a | b) # 在 a 或 b 中的字母 # {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} print(a & b) # 在 a 和 b 中都有的字母 # {'a', 'c'} print(a ^ b) # 在 a 或 b 中的字母,但不同时在 a 和 b 中 # {'r', 'd', 'b', 'm', 'z', 'l'} 集合推导式 a = {x for x in 'abracadabra' if x not in 'abc'} print(a) # {'d', 'r'} 流程控制 if 控制 if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 else: 语句 elif 表达式4: 语句 else: 语句1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在 Python 中没有 switch - case 语句。
三元运算符:
<表达式1> if <条件> else <表达式2>