我的代码部分是:
v=[7,0,2,5,1] # list with any numbers
x={2,0,4} # set of indexes (where element of x < len(v) has been provided)
for i in x: # this for loop is working
v[i]-=10
print(v) # good result
[-3, 0, -8, 5, -9]
我的问题是如何用列表理解或其他更紧凑的表达式替换上面的 for 循环? 注意:打印仅显示 v 的新值 但任务将只修改原始 v 列表的某些元素。
请您参考如下方法:
这并不能完全回答问题,但除非您正在尝试参加一些代码高尔夫比赛,否则我希望您只看下面的内容。它简单明了 - 仅仅因为代码适合一行并不能使它变得更好。
for i in x:
v[i] -= 10
