leetcode笔记(python)
1.大小写转换
str.upper() # 把所有字符中的小写字母转换成大写字母
str.lower() # 把所有字符中的大写字母转换成小写字母
str.capitalize() # 把第一个字母转化为大写字母,其余小写
str.title() # 把每个单词的第一个字母转化为大写,其余小写
2.进制转换
dec = int(input(“输入数字:”)) #获取用户输入十进制数
bin(dec) #转换为二进制为
oct(dec) #转换为八进制为
hex(dec) #转换为十六进制为
3.反向列表中元素
list.reverse() #该方法没有返回值,但是会对列表的元素进行反向排序。
4.输入到列表,以空格分割
a = list(input().split())
5.排序
1.sorted([5, 2, 3, 1, 4])
2.a = [5, 2, 3, 1, 4]
a.sort()
6.list转换为str
a= ‘,’.join([‘abc’,‘def’,‘ghi’]) #‘‘内的是分割符
print(a)
得到
‘abc,def,ghi’
7.二进制转十进制
int(“101010”,2)
8.每隔一个元素相加的和
sum =[1,4,3,2]
sum(nums[::2])=1+3=4
9.dict
a={‘b’:1}
a.get(‘b’)
输出1
a.get(‘c’,0)
输出为0
10.生成二维list
一般情况下生成一维list可以用
a=[0]*4
结果为a=[0,0,0,0]
可以用相同的思想生成二维list,也就是
b=[[0]*4]*4
结果为[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
这样做看似没有问题,但是在修改list内元素的时候,修改一个元素,会影响其他元素
例如
b[0][0]=1
期望得到b=[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
但是实际上会得到b=[[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
这是因为后面其余行可以看作是第一行复制出来的。
所以在生成list的时候,最好用
c=[([0]*4)for i in range(4)]
c[0][0]=1
得到c=[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]