# 字符串操作
## 字符串切片
操作语法:字符串[开始索引:结束索引:步长]
截取从开始索引到结束索引-1之间,间隔为步长-1的子串
开始索引默认为0,步长默认为1
s='12345678'
print(s[::2]) #1357
print(s[0::2]) #1357
print(s[1::2]) #2468
print(s[1:5:1])#2345
对于步长为负数的情况有所不同
开始索引的默认为字符串末尾,结束索引默认为0
print(s[-1:1:-1])#876543
print(s[:2:-1]) #87654
print(s[1::-1]) #21
s='12345678
#1.寻找字串的位置
s.find('234') #1
s.find('75') #当找不到字串时就会返回-1
#2.字符串格式化
a=1,b=2
print('{0}*{1}={2}'.format(a,b,a*b))
print(f'{a}*{b}={a*b}') #两种方法是等价的
s=[1,2,3,4,5]
#直接在后面添加
s.append(6) #[1,2,3,4,5,6]
#在指定位置添加
s.insert(2,"a") #[1,2,a,3,4,5]
#移除指定元素
s.remove(5) #[1,2,3,4]
#删除指定位置元素
s.pop(1) #[1,3,4,5]
#清空列表
s.clear() #[]
#字符串排序
a=["dddd","a","bb","ccc"]
b=sorted(a) ["a","bb","ccc","dddd"]
c=sorted(a,key=len) #按长度排序,而不是按字母表
#生成列表
f=[2*x+1 for x in range(1,5)] #[3,7,10,13]
#三种字典建立方法
item1={"a":1,"b":2,"c":3}
item2=dict(a=1,b=2,c=3)
item3={num:num*2+1 for num in range(1,10)}
#更新元素
item2['b']=10
item2.update(d=4,e=5)
#删除元素
item1.pop('a',1)
元组无法进行修改
a=('a',1,2,'b')
#元组转换为列表
b=list(a)
#列表转换为元组
c=tuple(b)
元组无法进行修改
```python
a=('a',1,2,'b')
#元组转换为列表
b=list(a)
#列表转换为元组
c=tuple(b)