如果我有一个列表,我是否可以替换列表中的字符串而不替换相同值的其他字符串?
例如,在列表中:
list1=['Mon', 'Mon', 'Tues', 'Wed']
如何在不替换第二个“周一”的情况下将第一个“周一”替换为“周一”?
答案 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']