1

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

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 中的元素?

请原谅我的英语不好,非常感谢您的帮助。

4

2 回答 2

3

任何有意义的名字都可以。一般来说,这没有科学依据 - 只需提供适当的描述性注释,以便其他人(以及您稍后)无需阅读代码即可理解它的作用。

只有当函数是众所周知的函数时才有科学依据。例如,如果您有一个函数将浮点数向下舍入到最接近的较小值且没有小数部分,您可能应该调用它floor。可能应该调用一个配对项目的函数zip,因为这又是通常的名称。

于 2013-07-08T20:15:21.380 回答
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)]

希望这可以帮助

于 2013-07-08T20:26:05.120 回答