python – 为什么我不能从一个列表理解中获得两个列表?
所以我有一个以下形式的数组:
现在我想将每个内部列表的第一个和最后一个元素提取到单独的列表中.所以,如果我这样做:
这有点像我期望的那样.但是我试图将这两个合并为一个调用,例如:
然而,这失败了: 所以任何人都可以解释为什么会发生这种情况,如果我想做的话甚至是可能的. 问候, 最佳答案
它不起作用,因为all_data中dat的[(dat [0],dat [2])的长度与all_data的长度相同,它与元组(ids,gds)的长度不同.
试试这个:
甚至更短:
如另一个答案所述,ids和gds现在将成为元组,因此如果您需要列表,请执行以下操作:
zip(* something)是python中经常出现的习惯用语.如果将列表列表看作矩阵,即
然后zip(* l)转置该矩阵:
*的工作方式如下:some_func(* some_list)解包some_list,以便使用some_list的元素作为参数调用该函数.因此zip(* l)与zip([1,6])相同. Here’s python教程的相关部分.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |