牛客算法刷题注意事项

算法刷题笔记:

notes:

python 输入多行的方式

方式1:
import sys
lines=sys.stdin.readlines()
方式2:
while True:
	line=input()
	if line =="":
	 	break

数据类型转换的方式:

a=["1","2"]
b=map(int,a)
print(b)

二进制转10进制

ret=int('0100',2)

List相关:

二维数组转置
a=[[1,2,3],[4,5,6]]
aT=list(map(list,zip(*a)))#a的转置

INT类型数据

与或非异或
  • &:按位与
  • |:按位或
  • ~:取反
  • ^:异或
a=4
b=5
print(a&b)
print(a|b)
print(~a)
print(a^b)

list 操作

list.insert(idx,obj)
ret=[]
ret.insert(2,"123")
list.index(obj)
ret=[1,2,3,4,5]
idx=ret.index(2)
idx2=ret.index(0)#没有则抛出异常
list.pop取元素的位置
l=[1,2,3,4,5,6]
x=l.pop()#默认是取出最后一个元素
x=l.pop(0)# 取出第一个元素需要自己设置
list.sort 列表排序
l=[1,2,4,67,8,3]
l.sort()#不会占用新的空间
sorted(l)#会产生新的列表,占用新的空间
print(l)

enumerate函数

将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

enumerate(迭代对象)

filter 过滤器

a=[1,2,-1,-3,-4]
filter(lambda: x:False if x<0 else True,a)

str相关

变小写字符
是否是数字、字母
s.isalnum()
s.lower()
字符串计数
s="12344"
s.count('4')

反转

a=[1,2,3,4]
b=reversed(a)
print(b)

产生1到n的数

nlist=range(1,n+1)

排列 组合

#排列
from itertools import permutations
permutations([1,2,3])
#组合
from itertools import combinations
combinations([1,2,3],2)

容器

计数器
from collections import Counter
l=[1,1,2,3,4]
dic=Counter(l)

字符和数字转换

chr(97)
ord('a')

集合

判断是否是子集
a=set(1)
b=set([1,2,3])
a.issubset(b)
#/ 在python2中是向下取整
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值