我有一个数字清单,例如:
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比这些结构化循环更好。
我能用另一种方式来做吗?
发布于 2013-12-08 22:52:44
一种非常节能型的方法是使用list comprehension和conditional expression。
>>> a = [2,4,5,12]
>>> a = [x-10 if x > 10 else x for x in a]
>>> a
[2, 4, 5, 2]
>>>https://stackoverflow.com/questions/20460241
复制相似问题