如何将单词替换为列表python中的另一个单词?

时间:2017-08-19 17:37:41

标签: python python-2.7 list

如果我有这个清单:

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

是否可以在不使用任何自动命令的情况下将每个world替换为任何其他单词,我正在考虑这样的事情:

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

9 个答案:

答案 0 :(得分:2)

您可以将列表理解与if-else一起使用。

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

您现在有了一个新列表list_B,其中“世界”一词的所有实例都已替换为“朋友”。

答案 1 :(得分:0)

我不认为有开箱即用的解决方案,例如你正在寻找的类似my_list.replace()的东西。因此,简单的解决方案就是遍历整个列表(使用枚举来保留迭代变量)。

试试这个:

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

答案 2 :(得分:0)

这是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']

答案 3 :(得分:0)

我不知道我是否理解你的问题,但它应该有效:

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

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

print(lst2)

如果”声明不需要。如果“世界”不存在,则会忽略它

答案 4 :(得分:0)

虽然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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

迭代列表并用“和平”取代“世界”

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']  

答案 7 :(得分:0)

您可以映射每个世界并替换为合适的单词。

使用lambda函数

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

答案 8 :(得分:0)

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

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