Skip to main content
 首页 » 编程设计

将函数输出 append 到多个列表的 Pythonic 方法

2025年05月04日13qlqwjy

我有一个问题,我还没有找到很好的解决方案。我正在寻找一种更好的方法来将函数输出 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)