我有一个来自SymPy Solver的有序对列表,[(a,b),(c,d), etc.]
我需要将这些值转换为列表以插入另一个函数,如:
def func1(a, b):
do_stuff
print_stuff
我尝试使用list(zip(*foo))
但是它返回了
[(-1.21566973175616,), (2.39458716469521,)]
没用。任何帮助将不胜感激,python(comp。物理课)的新手。
答案 0 :(得分:1)
如果我理解正确,您只是在寻找itertools.chain
。
>>> l = [(4, 3), (2, 6), (10, 2)]
>>> list(chain(*l))
[4, 3, 2, 6, 10, 2]
答案 1 :(得分:1)
我不是100%肯定你在问什么,但我希望这会有所帮助
lst = [(1,2),(3,4),(5,6)]
def func1(a,b):
stuff = a+b # random 'do_stuff'
print(stuff)
for x in lst:
func1(*x)
# the * will unpack x so that it will be accepted into the foo function, you could also do func1(x[0],x[1])