簡體   English   中英

替換列表中的特定元素

[英]Replacing particular elements in a list

碼:

>>> mylist = ['abc','def','ghi']
>>> mylist
['abc', 'def', 'ghi']
>>> for i,v in enumerate(mylist):
...     if v=='abc':
...             mylist[i] = 'XXX'
... 
>>> mylist
['XXX', 'def', 'ghi']
>>> 

在這里,我嘗試用'XXX'替換所有出現的'abc' 'XXX' 有沒有更短的方法來做到這一點?

您可以使用列表推導,而不是使用顯式的for循環。 這允許您迭代列表中的所有元素並過濾它們或將它們映射到新值。

在這種情況下,您可以使用條件表達式 它類似於(v == 'abc') ? 'XXX' : v (v == 'abc') ? 'XXX' : v用其他語言。

將它們放在一起,您可以使用以下代碼:

mylist = ['XXX' if v == 'abc' else v for v in mylist]

使用帶有三元運算/ 條件表達式列表推導:

['XXX' if item == 'abc' else item for item in mylist]

暫無
暫無

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

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