零碎知识点:
一、itertools库:
- itertools.permutations()全排列,可指定长度
- itertools.combinations()组合,可指定长度 ps:itertools.combinations_with_replacement允许元素重复
- itertools.accumulate()默认为累加,可以换成其他函数,比如max,min等
- itertools.chain()链接多个列表
- itertools.product()生成笛卡尔积
二、zip函数:它可以将两个字符串中每个相同位置的字符打包为一对,然后通过循环这些对来比较它们,例如:
strs = ["flower","flow","flight","flute"]
strs.sort()
for x,y in zip(strs[0],strs[-1]):
print(x,y)
运行结果为:
f f
l l
i u
g t
h e
三、其他可以用的库
- 字符串:s.swapcase() 大小写反转
s.upper() 大写
s.lower() 小写
s.isdigit() 是否都是数字
s.isnumeric() 是否都是数字字符
s.capitalize() 第一个字符大写
s.isalpha() 是否都是字母
s.isalnum() 是否都是字母或数
s.isspace() 是否都是空白字符 - statistics模块:statistics.mean()算术平均值 statistics.median()中位数 statistics.mode()众数 statistics.pvariance()方差
- collections模块:collections.deque([])双向队列 collections.Counter([])统计
- datetime模块:datetime.date(2000, 5, 1) datetime.timedelta(weeks=3) datetime.timedelta(days=100)
- calender模块:calendar.isleap(2022) 判断是否为闰年 calendar.leapdays(2000,2020)返回两年之间的闰年总数
leetcode做题记录:
14、17、39、40、46、47