首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中检查条件之后,从list中替换一个元素:用"pythonic方式“完成

在python中检查条件之后,从list中替换一个元素:用"pythonic方式“完成
EN

Stack Overflow用户
提问于 2013-12-08 22:51:47
回答 1查看 367关注 0票数 0

我有一个数字清单,例如:

代码语言:javascript
复制
a = [2,4,5,12]

我想通过从任何大于10的元素中减去10来改变列表。

为此,我可以做以下几点:

代码语言:javascript
复制
i = 0
for ax in a:
    if ax>10:
       ax = ax-10
       a[i] = ax
    i = i+1

但这不是一种“仿生”的编码方式。如果我使用Fortran,我可以使用这个循环,但是Python比这些结构化循环更好。

我能用另一种方式来做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-08 22:52:44

一种非常节能型的方法是使用list comprehensionconditional expression

代码语言:javascript
复制
>>> a = [2,4,5,12]
>>> a = [x-10 if x > 10 else x for x in a]
>>> a
[2, 4, 5, 2]
>>>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20460241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档