如何从列表理解中的调用函数存储多个 return 变量中的一个变量?
How to store one variable from multiple return variable from call function in List compression?
我希望从以下代码函数中得到类似 output
的输出:
def addMulDiv(i, k):
add=k+i
mul=k*i
div=k//2
return add, mul, div
Lst = []
for i in range(1, 10):
add, _, _ = addMulDiv(i, 500)
Lst.append(add)
print(Lst)
output: [501, 502, 503, 504, 505, 506, 507, 508, 509]
但我正在尝试在列表压缩中遵循 code
但我失败了。
Lst = [add for i in range(1, 10) add, _, _ = addMulDiv(i, 500)]
我怎样才能轻松做到这一点?
谢谢。
你的函数 addMulDiv()
returns 一个元组,所以你可以只使用
Lst = [addMulDiv(i, 500)[0] for i in range(1, 10)]
你的函数实际上是返回一个元组。因此,您可以使用 [0]
获取第一个元素
Lst1 = [addMulDiv(i,500)[0] for i in range(1,10)]
您还没有完全理解列表压缩的工作原理。
例如,
[i ** 2 for i in range(10) if i % 2 == 0]
这意味着您只能从范围中获取偶数并将其提高到 2 的幂。
output : [4, 16, 36, 64]
您的问题的解决方案:
def addMulDiv(i, k):
add = k + i
mul = k * i
div = k // 2
return add, mul, div
Lst = [addMulDiv(i, 500)[0] for i in range(1, 10)]
print(Lst)
这意味着您只能从函数 return 中获得添加结果,因为添加结果在 returned 元组
中的索引为 0
我希望从以下代码函数中得到类似 output
的输出:
def addMulDiv(i, k):
add=k+i
mul=k*i
div=k//2
return add, mul, div
Lst = []
for i in range(1, 10):
add, _, _ = addMulDiv(i, 500)
Lst.append(add)
print(Lst)
output: [501, 502, 503, 504, 505, 506, 507, 508, 509]
但我正在尝试在列表压缩中遵循 code
但我失败了。
Lst = [add for i in range(1, 10) add, _, _ = addMulDiv(i, 500)]
我怎样才能轻松做到这一点?
谢谢。
你的函数 addMulDiv()
returns 一个元组,所以你可以只使用
Lst = [addMulDiv(i, 500)[0] for i in range(1, 10)]
你的函数实际上是返回一个元组。因此,您可以使用 [0]
Lst1 = [addMulDiv(i,500)[0] for i in range(1,10)]
您还没有完全理解列表压缩的工作原理。 例如,
[i ** 2 for i in range(10) if i % 2 == 0]
这意味着您只能从范围中获取偶数并将其提高到 2 的幂。
output : [4, 16, 36, 64]
您的问题的解决方案:
def addMulDiv(i, k):
add = k + i
mul = k * i
div = k // 2
return add, mul, div
Lst = [addMulDiv(i, 500)[0] for i in range(1, 10)]
print(Lst)
这意味着您只能从函数 return 中获得添加结果,因为添加结果在 returned 元组
中的索引为 0