Python 序列(列表list, 元组tuple, 字符串str)合集

一、列表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]) -------返回序列总和,可设置起始位置,序列中数据类型要相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值