深浅拷贝
- ==比较的是数据内容,如果是True意义为内容相同,引用并不同
- =操作执行后,前后两个元素的引用地址相同
浅拷贝
copy() -> List
随机数
import random
randint(a, b)
- 返回[a, b]之间的整数,闭区间
choice(seq)
- 从非空序列的元素中随机挑选一个元素,比如
random.choice(range(10))
,从0到9中随机挑选一个整数。
random.choice([1,3,5,7])
randrange ([start,] stop [,step])
- 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1。
random.randrange(1,7,2)
- 前闭后开
random.shuffle(list) ->None
- 就地打乱列表元素
sample(population, k)
- 从样本空间或总体(序列或者集合类型)中随机取出k个不同的元素,返回一个新的列表
元组
-
有序的元素集合
初始化:
t=tuple()t=()t=(1,)
-
元组查询与列表类似
- 元组元素不可修改
注意:
对于包含复杂对象的元组,其指向复杂对象的引用地址不可更改,但复杂对象的数据内容可更改
namedtuple
from collections import namedtuplePoint=namedtuple('Point',['x', 'y'])#Point=namedtuple('Point','x y') 第二种写法p1=Point(11,12)print(p1.x,p1.y)
部分源码:
if isinstance(field_names, str): field_names = field_names.replace(',', ' ').split()field_names = list(map(str, field_names))typename = str(typename)
字符串
join连接
- "string".join(iterable) -> str
- 将可迭代对象的每一个元素用string连接起来
- 返回一个新字符串对象
+
字符串分割
-
split(sep=None, maxsplit=-1) -> list of strings
- 从左至右
- sep 指定分割字符串,缺省的情况下空白字符串作为分隔符
- maxsplit 指定分割的次数,-1 表示遍历整个字符串
-
rsplit(sep=None, maxsplit=-1) -> list of strings
-
splitlines([keepends]) -> list of strings
- 按照行来切分字符串
- keepends 指的是是否保留行分隔符
- 行分隔符包括\n、\r\n、\r等
- partition(sep) -> (head, sep, tail)
- 从左至右,遇到分隔符就把字符串分割成两部分,返回头、分隔符、尾三部分的三元组;
- 如果没有找到分隔符,就返回头、2个空元素的三元组
- sep 分割字符串,必须指定
字符串大小写
- upper()
- lower()
- swapcase()
字符串排版
- title() -> str
- capitalize() -> str
- center(width[, fillchar]) -> str
- width 打印宽度
- fillchar 填充的字符
- zfill(width) -> str
- ljust(width[, fillchar]) -> str
- rjust(width[, fillchar]) -> str
字符串修改
-
replace(old, new[, count]) -> str
- 字符串中找到匹配替换为新子串,返回新字符串
- count表示替换几次,不指定就是全部替换
- strip([chars]) -> str
- 从字符串两端去除指定的字符集chars中的所有字符
- 如果chars没有指定,去除两端的空白字符
- lstrip([chars]) -> str
-
rstrip([chars]) -> str
- find(sub[, start[, end]]) -> int
- 在指定的区间[start, end),从左至右,查找子串sub。找到返回索引,没找到返回-1
-
rfind(sub[, start[, end]]) -> int
- 在指定的区间[start, end),从右至左,查找子串sub。找到返回索引,没找到返回-1
- index(sub[, start[, end]]) -> int
- 在指定的区间[start, end),从左至右,查找子串sub。找到返回索引,没找到抛出异常ValueError
-
rindex(sub[, start[, end]]) -> int
- 在指定的区间[start, end),从左至右,查找子串sub。找到返回索引,没找到抛出异常ValueError
- count(sub[, start[, end]]) -> int
- 在指定的区间[start, end),从左至右,统计子串sub出现的次数
字符串判断
- endswith(suffix[, start[, end]]) -> bool
- 在指定的区间[start, end),字符串是否是suffix结尾
- startswith(prefix[, start[, end]]) -> bool
- 在指定的区间[start, end),字符串是否是prefix开头
is系列
- isalnum() -> bool
- isalpha()
- isdecimal()
- isdigit()
- isidentifier()
- 是不是字母和下划线开头,其他都是字母、数字、下划线
- islower()
- isupper()
- isspace()