python - 立即使用函数的返回值,而不是将其保存为变量作为中间步骤
问题描述
我发现通常不需要将某些函数的返回值存储为变量的情况。我想跳过那一点并直接使用它。
当前方法:
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”的方式来做到这一点?
解决方案
您可以通过对数据使用间接来避免重复代码:
listOfLists = [values_1,values_2] # indirect access to lists
for _ in range(5):
for values,value in zip(listOfLists,some_function()):
values.extend(value)
推荐阅读
- ruby-on-rails - Rails:创建/更新记录时出现 EOF 错误
- jquery - 将css动画时间或持续时间放在一个div中
- javascript - 了解链式函数,如何返回类似 jquery 的元素本身,如何避免“......不是函数”
- python - Python“__setattr__”和“__getattribute__”混淆
- windows - 如何发送“´”字符?
- php - Symfony 4:在自定义控制器中注销用户
- powerbi - 计算连接多个表的 Power BI 中的日期差异
- serial-port - 如何检查设备使用的是 RS232 还是 RS422?
- android - ImageView 中的图像消失
- pandas - 在熊猫数据框中将列值拆分为多个