有什么办法吗?

时间:2018-01-16 15:57:58

标签: python-3.x

搜索了几个小时:/

x0,x1,x2=1,2,3
for i in range(3):
    xi=xi+1
print(x1,x2,x3)
>2 3 4

有没有办法用“for”方法做到这一点?

3 个答案:

答案 0 :(得分:2)

使用列表按索引访问项目:

x = [1,2,3]
for i, item in enumerate(x):    # Enumerate will give the index and item at that index
    x[i] = item + 1

或者更像是C:

for i in range(length(x)):    # Go over the whole list
    x[i] = x[i] + 1           # Also x[i] += 1

答案 1 :(得分:0)

根据Rocket Hazmat的评论,使用列表而不是3个单独的变量来存储您的值。这也将解决您无法调用“xi”的问题,因为它不存在。

这样的事情:

values = [1,2,3]
for i in range(3):
    values[i] = values[i] + 1

答案 2 :(得分:-1)

x=1
y=2
z=3
x,y,z = map(lambda i: i+1, [x,y,z])