如何获取字符串并将其插入到已存在的另一个字符串的列表中(因此我没有超出范围错误)?
示例:
l = ["rock", "sand", "dirt"]
l.remove[1]
l.insert(1, "grass")
有没有比这更简单的方法呢?如果我有一个空列表并且订单很重要,我该怎么办?
答案 0 :(得分:4)
您只需要:
>>> l = ["rock", "sand", "dirt"]
>>> l[1] = "grass"
>>> l
['rock', 'grass', 'dirt']
>>>
列表支持通过list[index] = value
在Python中直接替换。
答案 1 :(得分:4)
您也可以直接替换元素:l[1] = 'grass'
答案 2 :(得分:1)
此外,如果您不确定要替换的项目的索引,请使用: 说你要替换的项目是"污垢",你只是去:
rightIndex = l.index("dirt")
l[rightIndex] = "grass
这将取代"污垢"用"草"如果你不确定" grass"的指数?在列表" l"。
答案 3 :(得分:0)
如果您正在查看任意列表,您可能不知道该项目是否在列表中或它是什么索引。您可能首先检查该项目是否在列表中,然后查找索引,以便您可以替换它。以下示例将对列表中与您要替换的内容匹配的所有元素执行此操作:
def replace_list_item(old, new, l):
'''
Given a list with an old and new element, replace all elements
that match the old element with the new element, and return the list.
e.g. replace_list_item('foo', 'bar', ['foo', 'baz', 'foo'])
=> ['bar', 'baz', 'bar']
'''
while old in l: # check for old item, otherwise index gives a value error
index = l.index(old)
l[index] = new
return l
然后:
l = ["rock", "sand", "dirt", "sand"]
replace_list_item('sand', 'grass', l)
返回:
['rock', 'grass', 'dirt', 'grass']