我有一个问题,我还没有找到很好的解决方案。我正在寻找一种更好的方法来将函数输出 append 到两个或多个列表,而不使用临时变量。示例如下:
def f():
return 5,6
a,b = [], []
for i in range(10):
tmp_a, tmp_b = f()
a.append(tmp_a)
b.append(temp_b)
我试过使用 zip(*f()) 之类的东西,但还没有完全找到那样的解决方案。 任何删除这些临时变量的方法都会非常有用,谢谢!
编辑 append 信息: 在这种情况下,函数的输出数量将始终等于 append 到的列表数量。我希望摆脱临时变量的主要原因是可能有 8-10 个函数输出,并且拥有那么多临时变量会变得困惑(尽管我什至不喜欢有两个)。
请您参考如下方法:
def f():
return 5,6
a,b = zip(*[f() for i in range(10)])
# this will create two tuples of elements 5 and 6 you can change
# them to list by type casting it like list(a), list(b)
