在python中使用元组?

在python中使用元组?,python,Python,我有三个python列表。比如说: list_a list_b list_c 现在我调用一个方法,该方法还返回一个列表并保存到上面的列表中。 例如: list_a = get_value(1) list_b = get_value(2) list_c = get_value(3) 我认为我选择用不同参数调用相同方法的方式不是一个好的选择。我们可以在一行内调用这些方法吗 我是Python的初学者,但是元组选项呢 如果您的函数设置正确(即修改为返回与您发送参数相同数量的列表),您可能会有如下调用

我有三个python列表。比如说:

list_a
list_b
list_c
现在我调用一个方法,该方法还返回一个列表并保存到上面的列表中。 例如:

list_a = get_value(1)
list_b = get_value(2)
list_c = get_value(3)
我认为我选择用不同参数调用相同方法的方式不是一个好的选择。我们可以在一行内调用这些方法吗


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

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

 list_a, list_b, list_c = get_value(1, 2, 3)
其中
get\u value()
将返回一个包含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)}
另一种方式:

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

+1 nice(我只是想建议对3个变量进行解包)您甚至可以使用生成器来实现这一点,但不确定它对于大型数据集是否更有效。请注意,
list\u a=get\u value(1)
行没有“将返回值保存到上面的列表中”。您需要使用
列表a[:]=get\u值(1)