如何命名将整数列表转换为对列表的函数?

时间:2013-07-08 20:12:13

标签: python list

我有一个列表,每个元素代表一组的大小。

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中调用一个元素?

请原谅我可怜的英语,非常感谢你的帮助。

2 个答案:

答案 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)]

希望这有帮助