跳到主要内容

字典

基础

字典
  • 不同数据类型;
  • 键值对;
  • 有序集合;
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