簡體   English   中英

如何將一個單詞替換為列表python中的另一個單詞?

[英]How to replace a word to another word in a list python?

如果我有這個清單:

['hello', 'world', 'goodbye', 'world', 'food']

是否可以在不使用任何自動命令的情況下將每個world替換為任何其他單詞,我正在考慮這樣的事情:

if 'world' in list:
    'world' in list == 'peace'

您可以使用帶有 if-else 的列表推導式。

list_A = ['hello', 'world', 'goodbye', 'world']
list_B = [word if word != 'world' else 'friend' for word in list_A]

您現在有一個新列表list_B ,其中“world”一詞的所有實例都已替換為“friend”。

我認為沒有開箱即用的解決方案,例如您正在尋找的類似 my_list.replace() 的解決方案。 因此,簡單的解決方案就是遍歷整個列表(使用 enumerate 保留迭代變量)。

試試這個:

for index, elem in enumerate(my_list):
    if elem == "world":
        my_list[index] = "peace"

這是 Zach 回答中發生的事情的擴展視圖

word_list = ['hello', 'world', 'goodbye', 'world', 'food']
for ndx, word in enumerate(word_list):
    if word == 'world':
        word_list[ndx] = 'peace'
print word_list
# result: ['hello', 'peace', 'goodbye', 'peace', 'food']

我不知道我是否理解你的問題,但它應該有效:

lst = ['hello', 'world', 'goodbye', 'world', 'food']

lst = [i.replace('world', 'peace') for i in lst]

print(lst2)

不需要“如果”語句。 因為如果“世界”不存在,它會忽略它

盡管 python 標准庫中沒有任何list.replace()方法。

但是這個效用函數可以幫助你:

def replace(l, target_word, replaced_word):
    for index, element in enumerate(l):
        if element == target_word:
            l[index] = replaced_word

    return l
def customReplaceFunction(wordList, replacingWord):
    for i in range(len(wordList)):
        if wordList[i] == 'world':
            wordList[i] = replacingWord
    print wordList

迭代列表並將“世界”替換為“和平”

wordlist = ['hello', 'world', 'goodbye', 'world', 'food']


for i in range(0,len(wordlist)):
   if wordlist[i]=="world":
      wordlist[i]="peace"
print(wordlist) 

wordlist = ['hello', 'peace', 'goodbye', 'peace', 'food']  

您可以映射每個世界並替換為合適的單詞。

使用 lambda 函數,

words = map(lambda word: word.replace('world', 'peace') , l)

如果您的列表中有唯一值:

my_list[my_list.index('old_word')]='new_word' 

暫無
暫無

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

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