繁体   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