我在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中有三個列表。比方說:在Python中使用元組?
list_a
list_b
list_c
現在我正在調用一個方法,它也返回一個列表並保存到上面的列表中。 例如:
list_a = get_value(1)
list_b = get_value(2)
list_c = get_value(3)
我想我選擇調用不同參數的方法相同的方式是不是一個好的選擇。我們可以在一條線內調用這些方法嗎?
我是Python初學者,但是元組選項呢?
列表的列表?
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 = get_value(1, 2, 3)
其中get_value()
會返回一個元組的3個值。
這是你在問什麼?
的另一種方法:
list_a, list_b, list_c = map(get_value, (1,2,3))
注意,線'list_a =的get_value(1)'不 「保存返回值到上述列表」。您需要使用'list_a [:] = get_value(1)'來代替。 – 2012-07-13 12:01:31