内置任何东西,但它只是一个就地替换的循环:
for i, word in enumerate(words):
if word == 'chicken':
words[i] = 'broccoli'
Run Code Online (Sandbox Code Playgroud)
如果总有一个实例,则选择较短的选项:
words[words.index('chicken')] = 'broccoli'
Run Code Online (Sandbox Code Playgroud)
或列表理解以创建新列表:
new_words = ['broccoli' if word == 'chicken' for word in words]
Run Code Online (Sandbox Code Playgroud)
其中任何一个都可以包含在一个函数中:
def replaced(sequence, old, new):
return (new if x == old else x for x in sequence)
new_words = list(replaced(words, 'chicken', 'broccoli'))
Run Code Online (Sandbox Code Playgroud)
不存在这样的方法,但是列表理解可以轻松地适应该目的,不需要新的方法list:
words = 'I like chicken'.split()
replaced = ['turkey' if wd == "chicken" else wd for wd in words]
print(replaced)
Run Code Online (Sandbox Code Playgroud)
哪个输出:['I', 'like', 'turkey']
| 归档时间: |
|
| 查看次数: |
23638 次 |
| 最近记录: |