簡體   English   中英

如何在 Python 中修改字符串列表中的特定子字符串?

[英]How to modify a specific substring in a list of strings in Python?

假設我有一個這樣的列表:

行 = ['123', '456', '789']

我嘗試像這樣修改第一個字符串的第一個字符:

行[0][0].replace('1','DDDD')

那么當我打印出列表時,它沒有變化嗎?

我知道一種通過列表理解來做到這一點的方法,但是它會遍歷整個列表,這似乎效率低下。 有沒有辦法只針對列表中的一個字符串?

.replace返回變異的字符串,而不是就地更改它。 相反,您希望將您的角色設置為返回值,如下所示:

rows[0]=rows[0].replace('1','DDDD')#changes all occurrences

如果你只想改變第一個字符,你可以這樣做

rows[0]='DDDD'+rows[0][1:]

但請記住,這不會檢查字符。

它自己的函數不會改變列表值,你需要這樣做:

rows[0][0] = rows[0][0].replace('1','DDDD')

行 = ['123', '456', '789']

1.使用列表理解、映射函數和 lambda 2.替換字符串列表中的子字符串

結果 = list(map(lambda st: str.replace(st, "3", "0"), rows)) 結果 -> ['120', '456', '789']

暫無
暫無

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

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