可变字符串
import io
s='hello sxt'
sio=io.StringIO(s)#创建新的字符串对象
sio.getvalue()
sio.seek(7)#找到字符串中相信位置的字符
sio.write('g')#改变相应位置的字符
sio.getvalue()
print(sio.getvalue())
结果
hello sgt
基本运算符
运算符优先级
列表
列表的创建方法有:基本语法[ ] 、list()创建、range()创建整数列表
推导式生成列表
>>> a=[x*2 for x in range(5)]#通过循环创建多个元素
>>> a
[0, 2, 4, 6, 8]
a=[x*2 for x in range(100) if x%9==0]#通过if过滤元素
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
列表的增加
append()方法
>>> a=[20,40]
>>> a.append(80)
>>> a
[20, 40, 80]
extend()方法
>>> a=[20,40]
>>> a.extend([50,60])
>>> a
[20, 40, 50, 60]
insert()插入元素
>>> a=[10,20,30]
>>> a.insert(2,100)
>>> a
[10, 20, 100, 30]
乘法扩展
>>> a=[10,20,30]
>>> a*3
[10, 20, 30, 10, 20, 30, 10, 20, 30]
列表的删除
del()
>>> A=[10,30,64,210]
>>> del A[2]
>>> A
[10, 30, 210]
pop()
>>> a=[10,20,30,40,50]
>>> b=a.pop()
>>> b
50
>>> a.pop(1)
20
>>> a
[10, 30, 40]
remove()
只删除当前列表中首次出现的指定元素
>>> a=[10,50,62,84,10,50,15]
>>> a.remove(10)
>>> a
[50, 62, 84, 10, 50, 15]
列表元素的访问
通过索引直接访问元素
index()获得指定元素在列表中首次出现的索引
>>> a=[10,20,30,40,50,20,30,20,30]
>>> a.index(20,3)#从索引位置3开始往后搜索的第一个20
5
>>> a.index(30,5,7)#从索引位置5到7这个区间,第一次出现30元素的位置
6
count()获得指定元素在列表中出现的次数
>>> a=[10,20,30,40,50,20,30,20,30]
>>> a.count(20)
3
len()返回列表长度
a=[10,20,30]
>>> len(a)
3
成员资格判定
a=[10,20,30,40,50,20,30,20,30]
>>> 20 in a
True
切片操作
>>> a=[10,20,30,40,50,60]
>>> a[1:3:1]
[20, 30]
>>> a[1::2]
[20, 40, 60]
>>> a[1:]
[20, 30, 40, 50, 60]
>>> a[:2]
[10, 20]
>>> a[-5:-3]
[20, 30]
>>> a[::-1]
[60, 50, 40, 30, 20, 10]
>>> a[-3:]
[40, 50, 60]
列表排序
不创建新列表
>>> a=[50,70,60,40,10]
>>> a.sort()
>>> a
[10, 40, 50, 60, 70]
>>> a.sort(reverse=True)
>>> a
[70, 60, 50, 40, 10]
>>> import random
>>> random.shuffle(a)
>>> a
[70, 40, 60, 10, 50]
创建新的列表
>>> id(a)
1686697925064
>>> a=sorted(a)
>>> a
[10, 40, 50, 60, 70]
>>> id(a)
1686697918600
多维列表
a=[
['高小一',18,30000,'北京'],
['高小二',19,20000,'上海'],
['高小三',20,10000,'深圳'],
]
for m in range(3):
for n in range(4):
print(a[m][n],end="\t")
print()#打印完一行,换行
高小一 18 30000 北京
高小二 19 20000 上海
高小三 20 10000 深圳
元组的创建
用tuple()创建元组
>>> b=tuple("abc")
>>> b
('a', 'b', 'c')
>>> b=tuple([25,52,31])
>>> b
(25, 52, 31)
元组的访问
zip
>>> a=[10,20,30]
>>> b=[40,50,60]
>>> c=[70,80,90]
>>> d=zip(a,b,c)
>>> list(d)
[(10, 40, 70), (20, 50, 80), (30, 60, 90)]
>>>
生成器式创建元组
>>> s=(x*2 for x in range(5))
>>> s
<generator object <genexpr> at 0x0000023ED52DEE60>
>>> tuple(s)
(0, 2, 4, 6, 8)