使用try except 处理数组越界之类的问题
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
finally:
<语句> #退出try时总会执行
二维数组迭代时使用变量而非i j 索引
boxTypes[j][0]*boxTypes[j][1]
# 改成这种,[0][1]容易搞混
for numberOfBoxes, numberOfUnitsPerBox in boxTypes:
return 可以写 == 判断表达式
# heap[0] = stk[-1]
return False if heap[0] == 'f' else True
#改成
return stk[-1] == 't'
使用enumerate(sequence, [start=0])
for c in command:
# 改成enumerate 这样可以使用下标 enumerate(sequence, [start=0])
for i, c in enumerate(command):
使用map(function, iterable, …),它的返回结果是一个列表。
使用Counter用于计数,调用它会返回一个key为列表的值,value为该值的具体个数的对象
参数function传的是一个函数名,可以是python内置的,也可以是自定义的。 参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。
这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。iterable后面还有省略号,意思可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。
# 1742. 盒子中小球的最大数量
#盒子的编号应当等于小球编号上每位数字的和。例如,编号 321 的小球应当放入编号 3 + 2 + 1 = 6 的盒子,而编号 10 的小球应当放入编号 1 + 0 = 1 的盒子。返回放有最多小球的盒子中的小球数量
def countBalls(self, lowLimit: int, highLimit: int) -> int:
cnt = {
}
res = 0
for ball in range(lowLimit,highLimit+1)