我有一个项目列表,他们可能或可能不被任意嵌套。我想替换列表中的一个元素。无论哪种方式(嵌套或不),我有元素的索引位置存储在另一个列表中。在Python中查找并替换(可能)嵌套列表中的元素?
这里是一个嵌套列表示例,我想用其他东西代替'xyz'
,比如123
。我已经存储在loc
的'xyz'
位置:
find='xyz'
replace=123
nested=[['abc',1],['xyz',2]]
print(loc) # [1,0]
使用loc
我怎么能代替'xyz'
为123
?
下面是一个嵌套的例子,我想这样做相同的替换:
unnested=['abc','xyz']
print(loc) # [1]
如果loc
只有一个元素,那么你可以简单地做:
*nest,element=loc
if not nest:
unnested[element]=replace
else: pass # need help with this part
有什么足够的灵活性处理这两种情况?
这不是一个嵌套列表,它是一个元组列表。元组是不可变的,所以你不能直接在第一种情况下替换元素。 –
你说得对,这是一个元组列表,我试图展示一个简单的结构来表达这个问题。显示更多的嵌套只会增加“loc”的长度。我将编辑这个列表。 – LMc