[英]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.