将sympy有序对转换为列表。

时间:2017-02-13 23:06:49

标签: python sympy

我有一个来自SymPy Solver的有序对列表,[(a,b),(c,d), etc.] 我需要将这些值转换为列表以插入另一个函数,如:

def func1(a, b):
     do_stuff
     print_stuff

我尝试使用list(zip(*foo))但是它返回了

[(-1.21566973175616,), (2.39458716469521,)]

没用。任何帮助将不胜感激,python(comp。物理课)的新手。

2 个答案:

答案 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])