我有一个数字列表,例如:
a = [2,4,5,12]
我想通过从任何大于10的元素中减去10来更改列表。
我可以为此做以下操作:
i = 0
for ax in a:
if ax>10:
ax = ax-10
a[i] = ax
i = i+1
但这并不是一种"蟒蛇式"的编码方式。如果我使用Fortran的话,我可以使用这个循环,但Python比这些结构化循环更好。
我可以用另一种方法吗?
一种非常Python的方法是将列表理解与条件表达式一起使用:
>>> a = [2,4,5,12]
>>> a = [x-10 if x > 10 else x for x in a]
>>> a
[2, 4, 5, 2]
>>>