簡體   English   中英

在python中檢查條件后,從列表中替換元素:以“ pythonic方式”進行操作

[英]Replacing an element from list after checking for condition in python: doing it the “pythonic way”

我有一個數字列表,例如:

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

但這不是“ pythonic”編碼方式。 如果我使用的是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]
>>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM