Python 替换列表列表中的值
Python 3。视窗10 我有一个分层列表,我想用指定的值更改它们的值 例如:我有分层列表Python 替换列表列表中的值,python,python-3.x,replace,Python,Python 3.x,Replace,Python 3。视窗10 我有一个分层列表,我想用指定的值更改它们的值 例如:我有分层列表 l = [[[0, 4], 1], [2, 3], 5]] 我有一本字典 {0: 'da-1.txt', 1: 'da-2.txt', 2: 'en-1.txt', 3: 'en-2.txt', 4: 'it-1.txt', 5: 'it-2.txt'} 我希望在不破坏列表层次结构的情况下,用字典的值相应地替换列表的值 输出应如下所示: l = [[['da-1.txt', 'it-1.t
l = [[[0, 4], 1], [2, 3], 5]]
我有一本字典
{0: 'da-1.txt',
1: 'da-2.txt',
2: 'en-1.txt',
3: 'en-2.txt',
4: 'it-1.txt',
5: 'it-2.txt'}
我希望在不破坏列表层次结构的情况下,用字典的值相应地替换列表的值
输出应如下所示:
l = [[['da-1.txt', 'it-1.txt'], 'da-2.txt'], ['en-1.txt', 'en-2.txt], 'it-2.txt']
您可以浏览列表,检查每个元素是否为列表。如果不存在,则将其替换为字典中相应的元素(如果存在)。如果是,则递归应用相同的算法:
def rec_replace(l, d):
for i in range(len(l)):
if isinstance(l[i], list):
rec_replace(l[i], d)
else :
l[i] = d.get(l[i], l[i])
注意:此实现是对列表元素的就地替换。或者,也可以使用类似的方法返回一个新列表。您要用哪种语言来完成此任务?Ofc。Python 3。对不起,这是我的第一篇帖子。非常感谢。正是我想要的。