目录
一、列表list
可存放不同数据类型的变量,可读写
1.定义一个列表
>>>a = []
>>>b = ['g','h',12]
>>>type(a)
<class 'list'>
2.向列表中添加/插入元素
- .append() -------只能向末尾添加一个元素
a.append(1)
a.append('A')
a.append(b) #把 列表b 当做 一个元素 插入
- .extend([ ]) -------向末尾添加一个列表中的所有元素
a.extend(b)
a.extend([2,3,4])
- .insert(x,y) -------在位置x前插入元素y
a.insert(0,20)
a.insert(-1,30)
3.从列表中获取元素
- 用下标获取(从0开始)
- 随机获取
import random
random.choice(a)
4.从列表中删除元素
- .pop(x) ------- x为元素下标,不写则默认弹出最后一个
- .remove(y) -------y为列表中的元素
- del -------删除元素或整个列表
del a[0]
del a[l:r] #删除[l,r)区间的元素
del a
5.列表切片
list[x:y:z] -------[x,y)区间,步长为z,可为负
>>>a = [1,2,3,4,5]
>>>b = a[:1] + a[2:3] + a[4:]
>>>a[::2]
[1,3,5]
>>>a[::-2]
[5,3,1]
>>>del a[::2]
>>>a
[2,4]
6.一些其他操作count、index、sort、reverse
-
比较大小 >、<… 比遇到的第一个不同元素
-
重复操作符 *
>>>a = [1]
>>>a = a*2
>>>a
[1,1]
- in 和 not in
>>>a = [1]
>>>1 in a
True
>>>2 in a
False
- .count(sub) -------计算次数
- .index(sub,start,stop) -------第一次出现位置
- .sort() -------排序,改变原列表
- .reverse() -------翻转序列,改变原列表
二、元组tuple
和列表差不多,但只可读,不可写。即不能直接在原元组 修改、插入、删除 元素。非要修改时切片就OK了。
>>>a = ()
>>>b = 'g','h',12
>>>type(a)
<class 'tuple'>
- 注意:逗号是关键
>>>3 * (1)
3
>>>3 * (1,)
(1,1,1)
三、字符串
1.str及一些常用内置方法(count、find、index、replace、split、‘’.join)
和元组一样,只可读,不可写。即不能在直接原字符串上 修改、插入、删除 元素。
-
.count(sub[,start[,end]])
-
.find(sub[,start[,end]]) -------找不到sub返回-1
相似还有.rfind(sub[,start[,end]]) -
.index(sub[,start[,end]]) -------找不到sub抛出异常
相似还有.rindex(sub[,start[,end]]) -
.replace(old,new[,count]) -------replace(’-’, ‘’ ,5) 删除前五个 -
-
.split(sep=None,maxsplit=-1) -------按sep拆分字符串
-
‘sep’.join(iterable) -------用sep把iterable中的元素连接成字符串,iterable为一切可迭代对象(用 ‘’.join(iterable) 替代 + 效率更高)
若a中元素都为字符串
>>> a = ['1','a','ppo']
>>> '-'.join(a)
'1-a-ppo'
若不是
>>> a = [1,2,3]
>>> a = list(map(str,a))
>>> a
['1', '2', '3']
>>> ''.join(a)
'123'
-
.strip([chars]) -------移除字符串头尾指定的字符(默认为空白字符)或字符集
相似还有.lstrip([chars])、.rstrip([chars])在oj上输入连续字符时最好加上 .strip() , 不然可能全RE (T_T)
2.翻转字符串
s = str(s)
s = s[::-1]
或
s = str(s)
s = reversed(s)
s = ''.join(s)
四、序列的一些BIF(list、len、reversed、sorted、max、min、sum)
a,b为序列
- list([iterable]) -------把iterable转换为列表,tuple、str同
- len(a) -------返回序列长度
- b = reversed(a) -------翻转序列,返回迭代器对象
- b = sorted(a, key, reverse) -------排序(默认从小到大,reverse=0),不改变原序列
- max(a) -------返回最大值,序列中数据类型要相同
- min(a) -------返回最小值,序列中数据类型要相同
- sum(iterable[,start]) -------返回序列总和,可设置起始位置,序列中数据类型要相同