如何在Python中替换列表中的单个字符串?

时间:2017-08-31 07:45:06

标签: python

如果我有一个列表,我是否可以替换列表中的字符串而不替换相同值的其他字符串?

例如,在列表中:

list1=['Mon', 'Mon', 'Tues', 'Wed']

如何在不替换第二个“周一”的情况下将第一个“周一”替换为“周一”?

2 个答案:

答案 0 :(得分:2)

您可以使用index方法。它返回在特定起始位置之后list 中第一次出现的元素。如果未定义,起始位置默认为0;即list的开头。

list1=['Mon', 'Mon', 'Tues', 'Wed']
try:
    index = list1.index('Mon')
    list1[index] = 'Monday'
except ValueError:
    print('Mon not found')

答案 1 :(得分:0)

如果您已经知道要更改的元素的索引,只需将其更改为 -

list1=['Mon', 'Mon', 'Tues', 'Wed']
list1[0] = 'Monday'

如果您还没有索引,请使用index函数。索引函数查找第一个匹配项并返回索引。如果您不知道列表中是否有Mon,您可以使用@Vladyslav Ushakov的方法,或者您可以检查'Mon'中是否存在list1

if 'Mon' in list1:
    list1[list1.index('Mon')] = 'Monday'

print(list1)
# ['Monday', 'Mon', 'Tues', 'Wed']