文章目录
概要
Python的内置序列包括六种:列表、元组、字符串、Unicode字符串、buffer对象、range对象。文章主要介绍了对六种字符串的通用操作以及对字符串和列表以及元组的常用操作。
一、通用操作
操作 | 效果 |
---|---|
X1 + X2 | 将序列1和序列2拼接到一起,并返回新生成的序列 |
X * n | 将序列重复拼接n次,返回新生成的序列 |
X[i] | 获取序列第i位的元素 |
X[i : j : k] | i,j,k默认值分别为0,len(X),1。i和j至少传入一个。返回第i到第j - 1位,步长为k的序列 |
len(X) | 返回序列X的元素个数 |
max / min(X) | 返回序列中最大 / 最小的元素 |
v in / not in X | 返回一个布尔值,前者为判断元素在序列中,后者为不在 |
二、字符串
2.1 关于字符串
2.1.1 字符串可以用单双甚至三引号表示,其中三引号用于多行字符串表示(也可以用普通单双引号,在换行的末尾加上‘ \ ’),单双引号主要用于字符串本身存在引号的情况(当然这种情况也可以用转义字符解决)。
2.1.2 在字符串前加上‘ r ’表示这是原始字符串,意味着字符串里面的‘ \ ’不会被当成转义字符,这在windows路径表示中尤为常见。
2.2 字符串的函数
表示方法 | 用处 |
---|---|
S.title() | 更改字符串首字母为大写 |
S.lower / supper() | 将字符串转换为小写 / 大写 |
S.strip / rstrip / lstrip() | 删除字符串首尾 / 尾 / 首的空格 |
S.find(sub[, start[, end]]) | 在字符串start到end - 1区间查找子串sub,返回字串第一次出现的位置,没找到返回-1 |
S.replace(old, new) | 用new代替原字符串的old |
S.join(X) | 将序列X接在字符串后面 |
S.split(sep=None) | 将字符串拆分成长度为step的列表 |
S.count(sub[, start[, end]]) | 计算字串sub在字符串里面出现的次数 |
2.3 将程序运行结果(一般为数字)和字符串一起输出
2.3.1 最简单的方法是用str()函数把整数转换为字符串,再用‘ + ’和字符串拼接在一起输出。
2.3.2 格式字符串
money = 10000
name = LiHua
print(‘{1: name} has {0: value} dollars’.format(money, name))
以上的输出结果就是:
LiHua has 10000 dollars
大括号内是格式字符串,形式是:
{[参数索引或键]: 格式控制标记},前者是format后括号内第几个参数,后者是一些标记,常见标记如下:
数据类型 | 含义 |
---|---|
d | 十进制整数 |
nf | 保留n位小数的浮点数 |
s | 字符串 |
c | 整数对应的Unicode字符 |
o | 八进制整数 |
x / X | 用小写 / 大写表示的十六进制整数 |
% | 浮点数的百分形式 |
%e | 浮点数的科学计数法 |
%E | 科学计数法 |
三、列表和元组
3.1 列表的操作
列表的操作或函数 | 含义 |
---|---|
del L[i] | 删除第i个元素 |
L.append(x) | 在列表后面加上元素x |
L.clear() | 清空列表 |
L.copy() | 返回一个一模一样的列表,并且不是地址 |
L.extend(x) | 将列表扩充到L后面 |
L.index(value) | 返回查找元素的下标 |
L.insert(index, x) | 在index处插入一个x |
L.pop(index) | 删除index处的元素,并将它返回 |
L.remove(value) | 删除第一个值为value的元素 |
L.reverse() | 翻转列表 |
L.sort() | 整理列表 |
3.2 元组
元组就是不可更改的列表,无论是通用方法还是列表函数都不能修改元组,只有少部分返回元组信息的函数可以使用。
四、随机函数库
函数名 | 含义 |
---|---|
random.random() | 随机返回一个0.0到1.0之间的浮点数 |
random.uniform(a, b) | 返回一个介于a和b的浮点数 |
random.randint(a. b) | 返回一个介于a和b的整数 |
random.randrange(start, stop, step) | 在start到stop直接步长为step的数中随机返回一个 |
random.choice(sequence) | 从序列中随机返回一个元素 |
random.shuffle(x) | 打乱列表 |
random.sample(sequence, k) | 从序列中随机抽取个数为k的新序列并乱序返回 |
random.seed(n) | 时间种子,无参数时为系统时间 |