字典
基础
字典
- 不同数据类型;
- 键值对;
- 有序集合;
dict_name = {key_1 : value_1, key_2 : value_2, ..., key_n : value_n}
dict_name = dict()
键值对要求
- 键:可 hashable;
判等机制
- 键值对都相等;
- 无视键值对顺序;
嵌套字典
- 字典元素类型不限,
- 可嵌套列表/字典/元组等;
>>> people = dict()
>>> kxh = 'kxh'
>>> kyz = {'name': 'kyz', 'age': 23}
>>> wcl = ['wcl', 24]
>>> people = {'kxh': kxh, 'kyz': kyz, 'wcl': wcl}
>>> people
{'kxh': 'kxh', 'kyz': {'name': 'kyz', 'age': 23}, 'wcl': ['wcl', 24]}
字典操作
d[key]
- 获取字典值;
- 若 key 不存在,报错;
d.get()方法
- d.get(key[,default]),
- 获取 d[key],若不存在返回指定信息;
- key:键;
- default:返回信息,默认为 None (可选);
- 返回值:d[key] or default;
d[key] = value
- 修改字典值;
- 添加新键值对;
key in d
- 顾名思义,不做解释;
key not in d
- 顾名思义,不做解释;
del d[key]
- 移除键为 key 的键值对;
d.clear() 方法
- 清空字典;
d.pop() 方法
- d.pop(key[,default]),
- 删除 d[key],若不存在返回指定信息;
- key:键;
- default:返回信息,默认为 None (可选);
- 返回值:d[key] or default;
d.popitem() 方法
- d.pop(key[,default]),
- 删除并返回指定键值对,若不存在返回指定信息;
- key:键;
- default:返回信息,默认为 None (可选);
- 返回值:(key,d[key])(若存在) or default;
d.items() 方法
- d.items();
- 返回 (key,d[key]) 字典视图,
- 可迭代;
d.keys() 方法
- d.keys();
- 返回 keys 字典视图,
- 可迭代;
d.values() 方法
- d.items();
- 返回 values 字典视图,
- 可迭代;
>>> fruits_prices = {'apple': 1, 'banana': 2, 'pear': 3}
>>> keys = fruits_prices.keys()
>>> values = fruits_prices.values()
>>> items = fruits_prices.items()
>>> keys
dict_keys(['apple', 'banana', 'pear'])
>>> values
dict_values([1, 2, 3])
>>> items
dict_items([('apple', 1), ('banana', 2), ('pear', 3)])
len() 函数
- 顾名思义,不做解释;
reversed() 函数
- 顾名思义,不做解释;
集合
基础
set
- 无序;
- 不重复;
- 元素可哈希。
aset = {"Apple", "Huawei", "Xiaomi"}
aset = set()
集合操作
通用操作
len(s)
- 顾名思义,不作解释。
x in s
- 顾名思义,不作解释。
x not in s
- 顾名思义,不作解释。
增加元素
set.add() 方法
- set.add(elem)。
- 增加元素 elem;
- elem:增加元素;
删除元素
set.remove() 方法
- set.remove(elem)。
- 删除元素 elem,若不存在 elem,报错;
- elem:删除元素;
set.discard() 方法
- set.discard(elem)。
- 删除元素 elem,若不存在 elem,不会报错;
- elem:删除元素;
set.pop() 方法
- set.pop()。
- 随机删除元素,若集合为空,报错;
- 返回值:删除元素值。
set.clear() 方法
- set.clear()。
- 清空 set。
集合运算
求合集
- set.union();
- setA | setB;
求差集
- set.difference()
- setA - setB;
求交集
- set.intersection()
- setA & setB;
求不重合集
- set.symmetric_difference();
转换函数
set() 函数
- set([iterable])。
- 将 iterable 转换成 set 类型;
- iterable:可迭代类型;
- 返回值:集合。
dict() 函数
- dict(iterable/mapping);
- 将 iterable/mapping 转换为字典;
- iterable/mapping:可迭代对象/映射对象;
- 返回值:字典;
>>> a = {'one': 1, 'two': 2, 'three': 3}
>>> b = dict(one=1, two=2, three=3)
>>> c = dict([('one', 1), ('two', 2), ('three', 3)])
>>> a == b == c
True