我使用.split()方法从字符串中创建了一个列表。
例如:string ="我喜欢鸡肉#34;我将使用.split()来创建字符串['I','like','chicken']
中的单词列表
现在,如果我想取代鸡肉'与其他东西,我可以使用什么方法,如.replace(),但列表?
答案 0 :(得分:5)
没有任何内置功能,但它只是一个就地进行替换的循环:
for i, word in enumerate(words):
if word == 'chicken':
words[i] = 'broccoli'
如果总有一个实例,则为或更短的选项:
words[words.index('chicken')] = 'broccoli'
或列表理解以创建新列表:
new_words = ['broccoli' if word == 'chicken' for word in words]
任何一个都可以包含在一个函数中:
def replaced(sequence, old, new):
return (new if x == old else x for x in sequence)
new_words = list(replaced(words, 'chicken', 'broccoli'))
答案 1 :(得分:0)
不存在这样的方法,但列表理解可以很容易地适应目的,不需要list
上的新方法:
words = 'I like chicken'.split()
replaced = ['turkey' if wd == "chicken" else wd for wd in words]
print(replaced)
哪些输出:['I', 'like', 'turkey']