簡體   English   中英

將列表與列表列表進行比較,並從列表列表中返回其他元素

[英]Comparison of list to list of lists and return the other element from the list of list

我有一個清單 - 答案:

[0,1] 

和另一份清單清單 - 問題:

[[0,ABC], [1,DEF], [3,XYZ]]

我如何比較2和返回

 ABC, DEF 

基於列表列表中第一個元素的答案中所有元素的比較?

如果第一項包含在answers您可以使用列表理解並將第二項保留在questions中:

answers = set([0,1])
[i[1] for i in questions if i[0] in answers]
# ['ABC', 'DEF']

注意:使用集合而不是列表有助於將復雜度從O(N*M)O(N)如@RafaelC所建議的那樣, N是問題的長度和M的答案長度

既然你提到了pandas

pd.DataFrame([[0,'ABC'], [1,'DEF'], [3,'XYZ']]).loc[lambda x : x[0].isin([0,1])][1].tolist()
Out[494]: ['ABC', 'DEF']

嘗試:

[i[1] for i in lst2 if i[0] in lst1]

雖然我不明白這與熊貓有什么關系。

暫無
暫無

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

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