簡體   English   中英

如何從值是 Python 中的 2D 列表的字典中有效地提取列中的所有元素?

[英]How do I efficiently extract all elements in a column from a dictionary whose values are 2D lists in Python?

我有一本字典,其值為列表列表。

mydict = {
"A" : [["gactacgat", "IE"],["gactacgat", "IE"]],
"G" : [["ggctacgat", "EI"],["gactacgat", "IE"]],
"C" : [["gcctacgat", "N"],["gactacgat", "IE"]],
"T" : [["gtctacgat", "IE"],["gactacgat", "IE"]]
}

我正在嘗試創建一個列表,其中包含這些 2D 列表第二列中的所有元素。 這就是我正在做的:

  mylist = []
  for key in mydict.keys():
      for row in mydict[key]:
          mylist.append(row[1])

從這些列表列表中的所有列表中訪問特定索引是否有比我所做的更有效的方法?

(如果我的措辭不好,我深表歉意,對於更好的標題問題的任何反饋表示贊賞)

列表推導式是你的朋友:

mylist = [row[1] for value in mydict.values() for row in value]

這使用了嵌套循環,但可能優化得更好一些。 此外,使用dict.values可以在外循環的每次迭代中為您節省鍵查找,並以與鍵相同的順序返回項目。

暫無
暫無

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

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