20231118 - Python 序列
list
序列 通用操作
多个替换(按步长)
pythonlst = [1, 2, 3, 4, 5, 6, 7] # 报错, 需要 3 个元素以替换每个 index % 2 == 0 的元素 lst[0:6:2] = [100, ] # lst[0] == 100, lst[2] == 101, lst[4] == 102 lst[0:6:2] = [100, 101, 102]
list.remove(<value>)
pythonlst = [1, 1, 2, 3, 4] lst.remove(1) # 只删除首个出现的 `1`
list.pop(<index>)
pythonlst.pop(0) # 删除 index == 0 的元素 lst.pop() # 删除 index == -1 (最后一个) 元素
list.extend(<序列>)
添加序列中每个元素至列表, 相比append
, 后 者只会添加到一个元素list.insert(<index>, <value>)
插入元素list.reverse()
倒序
list 独占操作
list.sort()
从小到大排序list.sort(reverse=True)
从大到小排序
tuple
- 元组不可变, 无添加删除
- 序列通用操作
range
- 也包含 序列通用操作
str
- 字符串是 不可变序列
- 也包含 序列通用操作 (部分)
由于字符串不可变, 故
string[0] = 'xxx'
会报错
str 独占操作
str.capitalize()
首字母大写str.title()
首字母大写, 后面全变为小写str.isnumberic()
判断是否全为 [0-9] 字符, 不包含-
.
等str.isalpha()
判断是否全为字母 ([a-z] | [A-Z])
dict
dict 独占操作
dic = dict(a=b, c=d, ...)
这样也可创建 dict (使用 kwargs)dict.fromkeys(<keys>)
创建只有 key 没有 value 的字典, value 全部为None
dict.pop(<key>, [default])
删除 key 所对 value, 返回对应的 value, 如果找不到, 报错 / (若设置了 default) 返回 default
sorted
函数
- 该函数可以给 tuple 排序, 但是输出 list