Xiuchuan Zhang

Personal Website

This is Xiuchuan's personal website.
I plan to post some of my current learning and review notes on it.
If you have any questions or suggestions, welcome to comment in my posts.
这里是秀川的个人博客。
我打算上传一些现阶段正在复习与学习的笔记在这网站。
若有任何问题或建议,欢迎在各页面留言。


Python Methods in Dictionaries and Sets

source:


表3-1

dict、collections.defaultdict和collections.OrderedDict这三种映射类型的方法列表(依然省略了继承自object的常见方法);可选参数以[…]表示

Methods of the mapping types dict, collections.defaultdict, and collections. OrderedDict (common object methods omitted for brevity); optional arguments are enclosed in […]

  dict defaultdict OrderedDict  
d.clear() 移除所有元素
Remove all items
d.__contains__(k) 检查 k 是否在 d 中
k in d
d.copy() 浅复制
Shallow copy
d.__copy__()     用于支持 copy.copy
Support for copy.copy
d.default_factory     __missing__ 函数中被调用的函数,用以给未找到的 元素设置值*
Callable invoked by __missing__ to set missing valuesa
d.__delitem__(k) del d[k],移除键为 k 的元素
del d[k]—remove item with key k
d.fromkeys(it, [initial]) 将迭代器 it 里的元素设置为映射里的键,如果有 initial 参数,就把它作为这些键对应的值(默认是 None)
New mapping from keys in iterable, with optional initial value (defaults to None)
d.get(k, [default]) 返回键 k 对应的值,如果字典里没有键 k,则返回 None 或者 default
Get item with key k, return default or None if missing
d.__getitem__(k) 让字典 d 能用 d[k] 的形式返回键 k 对应的值
d[k] —get item with key k
d.items() 返回 d 里所有的键值对
Get view over items (key, value) pairs
d.__iter__() 获取键的迭代器
Get iterator over keys
d.keys() 获取所有的键
Get view over keys
d.__len__() 可以用 len(d) 的形式得到字典里键值对的数量
len(d)—number of items
d.__missing__(k)     __getitem__ 找不到对应键的时候,这个方法会被调用
Called when __getitem__ cannot find the key
d.move_to_end(k, [last])     把键为 k 的元素移动到最靠前或者最靠后的位置(last 的默认值是 True)
Move k first or last position (last is True by default)
d.pop(k, [default]) 返回键 k 所对应的值,然后移除这个键值对。如果没有这个键,返回 None 或者 defaul
Remove and return value at k, or default or None if missing
d.popitem() 随机返回一个键值对并从字典里移除它#
Remove and return an arbitrary (key, value) itemb
d.__reversed__()     返回倒序的键的迭代器
Get iterator for keys from last to first inserted
d.setdefault(k, [default]) 若字典里有键k,则把它对应的值设置为 default,然后返回这个值;若无,则让 d[k] = default,然后返回 default
If k in d, return d[k]; else set d[k] = default and return it
d.__setitem__(k, v) 实现 d[k] = v 操作,把 k 对应的值设为 v
put v at k
d.update(m, [**kargs]) m 可以是映射或者键值对迭代器,用来更新 d 里对应的条目
Update d with items from mapping or iterable of (key, value) pairs
d.values() 返回字典里的所有值
Get view over values

表3-2

集合的数学运算:这些方法或者会生成新集合,或者会在条件允许的情况下就地修改集合

Mathematical set operations: these methods either produce a new set or update the target set in place, if it’s mutable

数学符号
Math_symbol
Python
Python_operator
运算符
Method
方法描述
Description
S ∩ Z s & z s.__and__(z) s 和 z 的交集
Intersection of s and z
S ∩ Z z & s s.__rand__(z) 反向 & 操作
Reversed & operator
S ∩ Z z & s s.intersection(it, ...) 把可迭代的 it 和其他所有参数转化为集合,然后求它们与 s 的交集
Intersection of s and all sets built from iterables it, etc.
S ∩ Z s &= z s.__iand__(z) 把 s 更新为 s 和 z 的交集
s updated with intersection of s and z
S ∩ Z s &= z s.intersection_update(it, ...) 把可迭代的 it 和其他所有参数转化为集合,然后求得它们与 s 的交集,然后把 s 更新成这个交集
s updated with intersection of s and all sets built from
S ∪ Z s | z s.__or__(z) s 和 z 的并集
Union of s and z
S ∪ Z z | s s.__ror__(z) | 的反向操作
Reversed |
S ∪ Z z | s s.union(it, ...) 把可迭代的 it 和其他所有参数转化为集合,然后求它们和 s 的并集
Union of s and all sets built from iterables it, etc.
S ∪ Z s |= z s.__ior__(z) 把 s 更新为 s 和 z 的并集
s updated with union of s and z
S ∪ Z s |= z s.update(it, ...) 把可迭代的 it 和其他所有参数转化为集合,然后求它们和 s 的并集,并把 s 更新成这个并集
s updated with union of s and all sets built from iterables it, etc.
S \ Z s - z s.__sub__(z) s 和 z 的差集,或者叫作相对补集
Relative complement or difference between s and z
S \ Z z - s s.__rsub__(z) s.__sub__(z) 的反向操作
Reversed - operator
S \ Z z - s s.difference(it, ...) 把可迭代的 it 和其他所有参数转化为集合,然后求它们和 s 的差集
Difference between s and all sets built from iterables it, etc.
S \ Z s -= z s.__isub__(z) 把 s 更新为它与 z 的差集
s updated with difference between s and z
S \ Z s -= z s.difference_update(it, ...) 把可迭代的 it 和其他所有参数转化为集合,求它们和 s 的差集,然后把 s 更新成这个差集
s updated with difference between s and all sets built from iterables it, etc.
S \ Z s -= z s.symmetric_difference(it) 求 s 和 set(it) 的对称差集
Complement of s & set(it)
S △ Z s ^ z s.__xor__(z) 求 s 和 z 的对称差集
Symmetric difference (the complement of the intersections & z)
S △ Z z ^ s s.__rxor__(z) ^ 的反向操作
Reversed ^ operator
S △ Z z ^ s s.symmetric_difference_update(it,...) 把可迭代的 it 和其他所有参数转化为集合,然后求它们和 s 的对称差集,最后把 s 更新成该结果
s updated with symmetric difference of s and all sets built from iterables it, etc.
S △ Z s ^= z s.__ixor__(z) 把 s 更新成它与 z 的对称差集
s updated with symmetric difference of s and z

表3-3

集合的比较运算符,返回值是布尔类型

Set comparison operators and methods that return a bool

数学符号
Math_symbol
Python运算符
Python_operator
方法
Method
描述
Description
    s.isdisjoint(z) 查看 s 和 z 是否不相交(没有共同元素)
s and z are disjoint (have no elements in common)
e ∈ S e in s s.__contains__(e) 元素 e 是否属于 s
Element e is a member of s
S ⊆ Z s <= z s.__le__(z) 是否为 z 的子集
s is a subset of the z set
S ⊆ Z s <= z s.issubset(it) 把可迭代的 it 转化为集合,然后查看 s 是否为它的子集
s is a subset of the set built from the iterable it
S ⊂ Z s < z s.__lt__(z) s 是否为 z 的真子集
s is a proper subset of the z set
S ⊇ Z s >= z s.__ge__(z) s 是否为 z 的父集
s is a superset of the z set
S ⊇ Z s >= z s.issuperset(it) 把可迭代的 it 转化为集合,然后查看 s 是否为它的父集
s is a superset of the set built from the iterable it
S ⊃ Z s > z s.__gt__(z) s 是否为 z 的真父集
s is a proper superset of the z set

表3-4

集合类型的其他方法

Additional set methods

  set frozenset  
s.add(e)   把元素 e 添加到 s 中
Add element e to s
s.clear()   移除掉 s 中的所有元素
Remove all elements of s
s.copy() 对 s 浅复制
Shallow copy of s
s.discard(e)   如果 s 里有 e 这个元素的话,把它移除
Remove element e from s if it is present
s.__iter__() 返回 s 的迭代器
Get iterator over s
s.__len__() len(s)
s.pop()   从 s 中移除一个元素并返回它的值,若 s 为空,则抛出 KeyError 异常
Remove and return an element from s, raising KeyError if s is empty
s.remove(e)   从 s 中移除 e 元素,若 e 元素不存在,则抛出 KeyError 异常
Remove element e from s, raising KeyError if e not in s

Support

cancel

Thank you for your supporting

Scan
Scan
Scan It

打开支付宝或微信扫一扫,即可进行扫码打赏哦