我有两个列表,我想根据列表的第一个元素分组。在
list1 = [['1','abc','zef'],['2','qwerty','opo'],['3','lol','pop']]
list2 = [['1','rofl','pole'],['2','sole','pop'],['3','lmao','wtf']]
在这里,列表中的第一个元素是“1”、“2”和“3”。在
我希望我的最终名单是:
^{pr2}$我已经用下面的代码试过了。在
#!/usr/bin/python
list1 = [['1','abc','zef'],['2','qwerty','opo'],['3','lol','pop']]
list2 = [['1','rofl','pole'],['2','sole','pop'],['3','lmao','wtf']]
d = {}
for i in list1:
d[i[0]] = i[1:]
for i in list2:
d[i[0]].extend(i[1:])
Final_List = []
for key, value in d.iteritems():
value.insert(0,key)
Final_List.append(value)
这段代码可以工作,但我想知道是否有一种简单明了的方法来实现它
有什么帮助吗?在
如果
Final_List
内列表中的项序列不重要,则可以使用此项我会像你写的那样稍加修改,像这样
准备一个字典,其中从第二个位置收集的所有元素对应于第一个元素。在
然后从字典中获取所有值(谢谢@jamylak):-)
输出
你的代码似乎是正确的。只需修改以下部分:
相关问题 更多 >
编程相关推荐