我有一个列表,每个元素代表一组的大小。
a = [10, 20, 5] # we have 3 bags of balls, each has 10, 20, 5 balls
我想编写一个函数将其转换为对的列表,每对是一对集合的下限和上限。
b = [(0, 9), (10, 29), (30, 34)] # if we give a serial number to each ball, then #0 ~ #9 ball will be in bag #1, #10 ~ #29 ball will be in bag #2, and so on.
现在我已经编写了一个名为a_to_b的函数:
a_to_b(a) => b
在这种情况下,描述a,b和函数a_to_b应该是什么样的概念?
换句话说,a,b和a_to_b的适当名称应该是什么?另外,我应该在a或b中调用一个元素?
请原谅我可怜的英语,非常感谢你的帮助。
答案 0 :(得分:3)
任何有意义的名字都可以。一般来说,这没有科学依据 - 只需提供适当的描述性评论,以便其他人(以及您以后)可以在不阅读代码的情况下理解它的作用。
唯一有科学知识的时候,这个功能是众所周知的功能。例如,如果你有一个函数将float向下舍入到最接近的较小值而没有小数部分,你可能应该将其称为floor
。应该将项目配对的函数称为zip
,因为这也是通常的名称。
答案 1 :(得分:0)
In [56]: def ranges(L):
answer = []
top = 0
for num in L:
answer.append((top, top+num-1)); top += num
return answer
....:
In [57]: L = [10, 20, 5]
In [58]: ranges(L)
Out[58]: [(0, 9), (10, 29), (30, 34)]
希望这有帮助