我想创建一个循环,每次运行时,列表中的相应项都会更改。
例如:
list=[10, 20, 30]
第一次运行将添加1到10个 第二行将从20减去5 第三次运行将增加2到30个 然后循环重新开始。
我该怎么做?谢谢你的回答!
答案 0 :(得分:3)
您可以像这样使用built-in zip
function:
changes = [1, -5, 2]
data = [10, 20, 30]
result = [(a + b) for a, b in zip(data, changes)]
然后
>>> result
[11, 15, 32]
如果你想在循环中这样做,请继续:
while <your condition>:
data = [(a + b) for a, b in zip(data, changes)]
答案 1 :(得分:1)
作为一个简单示例,您可以创建规则dict
add为每个索引添加每个值。
rules = {1: 1, 2: -5, 3: 2}
my_list = [10, 20, 30]
print [v + rules[i+1] for i, v in enumerate(my_list[:])]
上阅读更多内容
答案 2 :(得分:1)
请尝试以下代码:
for i in range(len(l)):
if i == 0:
l[0] += 1
elif i == 1:
l[1] -= 5
elif i == 2:
l[2] += 2
print l