list相关操作
1)修改列表,给元素赋值
x[0] = 1
2)删除元素
del x[0]
3)给切片赋值
name = [‘P’,‘e’,‘r’,‘i’]
name[2:] = list(‘ar’) # name=[‘P’,‘e’,‘a’,‘r’]
4)给列表附加值到末尾
A.append(4)
5)清空列表
A.clear()
6)2种列表赋值
b=a #同一个地址,a和b同时变
b=a.copy() #a和b是独立的
7)查找第一次出现的索引
A=[‘a’,‘b’,‘c’]
ind = A.index(‘a’) #ind = 0
print(A[ind]) #输出 a
8)insert在指定位置插入值
A= [‘a’,‘b’,'‘c]
A.insert(1,‘d’) #A =[‘a’,‘d’,‘b’,‘c’]
9)pop 从列表删除一个元素,并返回这个元素(唯一一个修改列表&返回非None的方法)
A= [‘a’,‘b’,’'c]
A.pop() #删除c,并返回c
A.pop(0) #删除a,并返回a
10)删除指定值
A= [‘a’,‘b’,‘c’]
A.remove(‘a’) #
11)reverse 按相反顺序排列
A= [‘a’,‘b’,‘c’]
A.reverse() #A = [‘c’,‘b’,‘a’]
12)sort 列表排序
A= [‘c’,‘a’,‘b’]
A.sort() #A = [‘a’,‘b’,‘c’]
13)sorted()
可以这么使用 B =sorted(A) #此时,A不变,B= [‘a’,‘b’,‘c’]
或者:B= A.copy()
B.sort() #此时,A不变,对B排序
错误使用方法:B= A.sort() #B为空,A排序,因为sort()是就地排序,不是返回排序后的列表副本
字符串
1)find在字符串中,查找子串
A= ‘qwsssafdfdsdfwww’
A.find(sss) #返回子串第一个字符的索引 2
2)join合并序列的元素
seq = [a,b,c,d]
print(‘’.join(seq)) #输出abcd
print(‘+’.join(seq)) 输出a+b+c+d
3)replace 将指定子串都替换为另一个子串
A= ‘abnnnab’
A.replace(‘ab’,‘A’) # A = ‘AnnnA’
4)删除字符串开头和结尾的指定字符
A= ‘*asdha sdfsdf akdd!’
A.strip('!') #删除A开头和结尾的!和,所以A= ‘asdha sdfsdf ****akdd’
将输入的字符串转换成列表
JM = list(input())
将输入的带有”空格“的作为分隔符的字符串,转换成列表
listA = list(input().split())
将输入的带有"空格"作为分隔符的数字,转换成列表
listA = map(int,input().split())
split与list的效果:
判断英文字母大小写
listA[i].isupper()
listA[i].islower()
更改字母大小写
listA[i].upper()
listA[i].lowwer()
ASCII码与字母的转换
asc = ord(‘A’)
cha = chr(asc)
如:输入
实现a转换为b
asc = ord(‘a’)+1
cha = **chr(**asc)
字符串倒序(使用切片):
A = 'abcdef'
print(A[::-1])
输出:
fedcba
列表倒序(与字符串一样使用切片)
A = ['a','b','c']
print(A[::-1])
输出:
['c','b','a']
union:字典操作,合并多个集合&去重(重复的元素只会出现一次)
x = {"a", "b", "c"}
y = {"f", "d", "a"}
z = {"c", "d", "e"}
result = x.union(y, z)
print(result)
输出:
{'c', 'd', 'f', 'e', 'b', 'a'}
result = x.union(y)
print(result)
输出:
{'c', 'd', 'f', 'b', 'a'}
eavl函数
eval函数主要是用来实现python中各种数据类型与str之间的转换
(1)将字符串转为列表
s = '[1,2.3]'
print(eval(s))
输出:
[1, 2.3]
(2)将字符串转为字典
s='{"number":2,"name":"jay"}'
print(eval(s))
输出:
{'number': 2, 'name': 'jay'}
(3)将字符串转为元组
s='(1,3,5)'
print(eval(s))
输出:
(1, 3, 5)
(4)直接将字符串,完成四则运算
s='1+3*(25/5)-10+(-2)'
print(eval(s))
输出:
4.0