我得到了这个函数:
numbers = [3, 4, 6, 7]
for x in numbers:
a = 5 - x
b = 5 + x
c = 5 * x
print(x, a, b, c)
它到底做了什么并不重要,只有x是相关的。
我想修改x,以便:
for x in numbers:
a = 5 - (x + 2)
b = 5 + (x + 2)
c = 5 * (x + 2)
print((x + 2), a, b, c)
但显然是在增加
+ 2
到处都很烦人,所以我只想给x取另一个值。
当然我可以做另一个这样的变量:
for x in numbers:
modifiedX = x + 2
a = 5 - modifiedX
b = 5 + modifiedX
c = 5 * modifiedX
print(modifiedX, a, b, c)
但我很好奇,我是否可以在不添加其他行的情况下得到相同的结果,比如:
for x + 2 in numbers:
a = 5 - x
b = 5 + x
c = 5 * x
print(x, a, b, c)
或者这个:
x + 2 for x in numbers:
a = 5 - x
b = 5 + x
c = 5 * x
print(x, a, b, c)
最后两个代码块都不是正确的Python语法,所以我很好奇:
有没有正确的方法可以在不增加更多行的情况下修改x版本?
注意:我仍然想保留原来的数字列表,所以我不想直接更改列表中的数字。