首页 > 解决方案 > 立即使用函数的返回值,而不是将其保存为变量作为中间步骤

问题描述

我发现通常不需要将某些函数的返回值存储为变量的情况。我想跳过那一点并直接使用它。

当前方法:

def some_function():
    return 1, 2

values_1 = []
values_2 = []

for _ in range(5):
    value_1, value_2 = some_function()
    
    values_1.extend(value_1)
    values_2.extend(value_2)

我想做的是:

def some_function():
    return 1, 2

values_1 = []
values_2 = []

for _ in range(5):
    values_1.extend(_returned_1_), values_2.extend(_returned_2_) = some_function()

有没有一种“Pythonic”的方式来做到这一点?

标签: python

解决方案


您可以通过对数据使用间接来避免重复代码:

listOfLists = [values_1,values_2] # indirect access to lists
for _ in range(5):
    for values,value in zip(listOfLists,some_function()):
        values.extend(value)

推荐阅读