簡體   English   中英

具有索引查找的二維數組列表理解

[英]2d array list comprehension with an index lookup

我有一個簡單的二維數組,如下所示:

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

現在,我試圖通過使用數組中的值作為列表的索引,用列表中的值替換2d數組中的值。 例如,我的列表如下所示:

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']]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM