释放元组的元素?
Release a tuple's elements?
我有一个函数 returns 两个数字:
def f(x):
return x, x+1
我想基于另一个列表创建一个列表,如下所示:
list_1 = [5, 8]
list_2 = [(100, f(x)) for x in list_1]
预期结果为 [ (100, 5, 6), (100, 8, 9) ]
相反,我得到:[ (100, (5, 6)), (100, (8, 9)) ]
请问我怎样才能得到正确的列表?谢谢
注意: 函数 f(x) 实际上更复杂,更耗时,运行 两次或分成 2 次都没有效率函数,以便分别获取元素。
将 *
放在 f(x)
之前(这将 解压 元组):
def f(x):
return x, x + 1
list_1 = [5, 8]
list_2 = [(100, *f(x)) for x in list_1]
print(list_2)
打印:
[(100, 5, 6), (100, 8, 9)]
我有一个函数 returns 两个数字:
def f(x):
return x, x+1
我想基于另一个列表创建一个列表,如下所示:
list_1 = [5, 8]
list_2 = [(100, f(x)) for x in list_1]
预期结果为 [ (100, 5, 6), (100, 8, 9) ]
相反,我得到:[ (100, (5, 6)), (100, (8, 9)) ]
请问我怎样才能得到正确的列表?谢谢
注意: 函数 f(x) 实际上更复杂,更耗时,运行 两次或分成 2 次都没有效率函数,以便分别获取元素。
将 *
放在 f(x)
之前(这将 解压 元组):
def f(x):
return x, x + 1
list_1 = [5, 8]
list_2 = [(100, *f(x)) for x in list_1]
print(list_2)
打印:
[(100, 5, 6), (100, 8, 9)]