0

我在 python 中有三个列表。比方说:

list_a
list_b
list_c

现在我正在调用一个方法,该方法也返回一个列表并保存到上述列表中。例如:

list_a = get_value(1)
list_b = get_value(2)
list_c = get_value(3)

我认为我选择调用具有不同参数的相同方法的方式不是一个好的选择。我们可以在一行中调用这些方法吗?

我是 Python 的初学者,但是元组选项呢?

4

3 回答 3

3

如果您的函数设置正确(即修改为返回与您发送参数相同数量的列表),您可以进行如下调用:

 list_a, list_b, list_c = get_value(1, 2, 3)

whereget_value()将返回 3 个值的元组。

这就是你要问的吗?

于 2012-07-13T11:48:53.410 回答
3

列表列表?

ll = [get_value(x) for x in (1, 2, 3)]

或与您的三个列表:

list_a, list_b, list_c = [get_value(x) for x in (1, 2, 3)]

考虑到,它get_value不能被修改并且只返回一个列表。

另一种可能性是字典。

params = {'a': 1, 'b': 2, 'c': 3}
result = {k:get_value(v) for k,v in params.iteritems()}
# result == {'a': get_value(1), 'b': get_value(2), 'c': get_value(3)}
于 2012-07-13T11:49:30.437 回答
2

其他方式:

list_a, list_b, list_c = map(get_value, (1,2,3))
于 2012-07-13T12:00:52.733 回答