Skip to main content
 首页 » 编程设计

python之带有索引查找的二维数组列表理解

2025年05月04日23mfryf

我有一个像这样的简单二维数组:

arr = [[2,1,0],[0,2,1]] 

现在我尝试将二维数组中的值替换为列表中的值,方法是使用数组中的值作为列表的索引。例如,我的列表如下所示:

list = ['Cat', 'Dog', 'Fox'] 

我想得到这样的结果:

[['Fox','Dog','Cat'],['Cat','Fox','Dog']] 

我试图弄清楚如何使用列表推导式有效地做到这一点,但是我找不到似乎可行的方法。

我认为这应该可行:

[list[x] for x in y for y in arr ] 

但是,它告诉我 NameError: name 'y' is not defined

请您参考如下方法:

你可以这样做:

arr = [[2,1,0],[0,2,1]] 
 
lst = ['Cat', 'Dog', 'Fox'] 
 
result = [[lst[i] for i in sublist] for sublist in arr] 
 
print(result) 

输出

[['Fox', 'Dog', 'Cat'], ['Cat', 'Fox', 'Dog']]