有序集合
有序的集合包括:列表、字符串以及元组。
对于任意Python序列可应用的运算:
运算名 | 运算符 | 解释 |
---|---|---|
长度 | len(sequence) | 返回序列的长度。 |
索引访问 | sequence[i] | 返回索引 i 处的元素。 |
切片 | sequence[i:j] | 返回从索引 i 到 j 的子序列。 |
成员检查 | item in sequence | 检查 item 是否存在于序列中。 |
成员非存在检查 | item not in sequence | 检查 item 是否不存在于序列中。 |
序列连接 | sequence + other | 连接两个序列。 |
序列重复 | sequence * n | 将序列重复连接 n 次。 |
最小值 | min(sequence) | 返回序列中的最小元素。 |
最大值 | max(sequence) | 返回序列中的最大元素。 |
索引查找 | sequence.index(item) | 返回 item 第一次出现的索引。 |
计数 | sequence.count(item) | 返回序列中 item 的出现次数。 |
列表(list)
列表可以包含不同类型的元素,是零个或多个指向Python数据对象引用的集合。[...]
方法名 | 用法 | 解释 |
---|---|---|
append | list.append(x) | 在列表末尾添加元素 x 。 |
extend | list.extend(iterable) | 将可迭代对象的元素追加到列表。 |
insert | list.insert(i, x) | 在指定位置 i 插入元素 x 。 |
remove | list.remove(x) | 移除列表中第一个值为 x 的元素。 |
pop | list.pop([i]) | 移除并返回指定位置 i 处的元素,如果未指定则移除并返回最后一个元素。 |
index | list.index(x[, start[, end]]) | 返回列表中第一个值为 x 的元素的索引,可选范围为 [start, end] 。 |
sort | list.sort(key=None, reverse=False) | 对列表进行排序。 |
reverse | list.reverse() | 反转列表中的元素。 |
copy | list.copy() | 创建列表的浅拷贝。 |
del | del list[i] 或 del list[i:j] | 删除列表中指定位置的元素或切片。 |
list | list(iterable) | 将可迭代对象转换为列表。 |
字符串(string)
由零个或多个字符组成的有序集合。列表和字符串的区别在于,列表能被修改,字符串则不能。''
,""
方法名 | 用法 | 解释 |
---|---|---|
capitalize | str.capitalize() | 返回字符串的首字母大写版本。 |
casefold | str.casefold() | 返回字符串的大小写折叠版本。 |
endswith | str.endswith(suffix[, start[, end]]) | 如果字符串以指定的后缀结尾,则返回 True。 |
find | str.find(sub[, start[, end]]) | 返回子字符串的第一个匹配项的索引,如果未找到则返回 -1。 |
format | str.format(*args, **kwargs) | 格式化字符串。 |
isalnum | str.isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字,则返回 True。 |
isalpha | str.isalpha() | 如果字符串至少有一个字符并且所有字符都是字母,则返回 True。 |
isdigit | str.isdigit() | 如果字符串只包含数字,则返回 True。 |
join | str.join(iterable) | 在可迭代对象的元素之间插入字符串。 |
lower | str.lower() | 返回字符串的小写版本。 |
replace | str.replace(old, new[, count]) | 用新字符串替换旧字符串。 |
split | str.split([sep[, maxsplit]]) | 使用指定的分隔符拆分字符串。 |
strip | str.strip([chars]) | 返回去除字符串两侧(开头和结尾)指定字符集的版本。 |
title | str.title() | 返回标题化(每个单词的首字母大写)的字符串。 |
upper | str.upper() | 返回字符串的大写版本。 |
元组(tuple)
元组相当于不能被修改的列表,拥有列表除了修改元素外的其他方法和运算。(,)
无序集合
无序集合包括:集和字典
集合(set)
集是由零个或多个不可修改的Python数据对象组成的无序集合。空集合由set()表示。
集合支持的运算
运算名 | 运算符 | 解释 |
---|---|---|
并集 | ` | ` |
交集 | & | 返回两个集合的交集。 |
差集 | - | 返回前一个集合中存在而后一个集合中不存在的元素。 |
对称差集 | ^ | 返回两个集合中不重复的元素。 |
包含关系 | <= | 判断一个集合是否是另一个集合的子集。 |
包含关系 | >= | 判断一个集合是否是另一个集合的超集。 |
不相交集合 | isdisjoint() | 判断两个集合是否没有交集。 |
成员 | in | 询问集合中是否有某元素 |
集合提供的方法
方法名 | 用法 | 解释 |
---|---|---|
add() | set.add(element) | 将元素添加到集合。 |
remove() | set.remove(element) | 移除集合中的指定元素,如果不存在则引发错误。 |
discard() | set.discard(element) | 移除集合中的指定元素,如果不存在则不引发错误。 |
pop() | set.pop() | 移除并返回集合中的任意元素,如果集合为空则引发错误。 |
clear() | set.clear() | 移除集合中的所有元素。 |
copy() | set.copy() | 返回集合的浅拷贝。 |
union() | set1.union(set2) | 返回两个集合的并集。 |
intersection() | set1.intersection(set2) | 返回两个集合的交集。 |
difference() | set1.difference(set2) | 返回前一个集合中存在而后一个集合中不存在的元素。 |
symmetric_difference() | set1.symmetric_difference(set2) | 返回两个集合中不重复的元素。 |
issubset() | set1.issubset(set2) | 判断一个集合是否是另一个集合的子集。 |
issuperset() | set1.issuperset(set2) | 判断一个集合是否是另一个集合的超集。 |
isdisjoint() | set1.isdisjoint(set2) | 判断两个集合是否没有交集。 |
字典(dictionary)
字典是一组键-值对的集合,其中每个键必须是唯一的。
支持的运算符
运算名 | 运算符 | 解释 |
---|---|---|
[] | myDict[k] | 返回与k相关联的值,可访问值也可以 修改值和创建键值对 |
in | key in adict | 如果键key在字典中,返回True否则返回False |
def | def adict[key] | 从字典中删除key的键值对 |
支持的方法
方法名 | 用法 | 解释 |
---|---|---|
clear() | my_dict.clear() | 清空字典中的所有键值对。 |
copy() | new_dict = my_dict.copy() | 创建字典的浅拷贝。 |
fromkeys() | new_dict = dict.fromkeys(keys, value) | 创建一个新字典,使用指定的键和默认值(可选)。 |
get() | value = my_dict.get(key, default) | 获取指定键的值,如果键不存在,则返回默认值。 |
items() | items = my_dict.items() | 以元组的形式返回字典中所有键值对的视图。 |
keys() | keys = my_dict.keys() | 返回字典中所有键的视图。 |
pop() | value = my_dict.pop(key, default) | 弹出指定键的值,如果键不存在,则返回默认值。 |
popitem() | key, value = my_dict.popitem() | 弹出并返回字典中的任意键值对。 |
setdefault() | value = my_dict.setdefault(key, default) | 获取指定键的值,如果键不存在,则设置默认值并返回。 |
update() | my_dict.update(other_dict) | 将其他字典中的键值对更新到当前字典。 |
values() | values = my_dict.values() | 返回字典中所有值的视图。 |