我有一个像这样的简单二维数组:
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']]
