跳到文章

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]]