我有一个元组列表,如下所示:
x = [
(('102', '393', 'abc'), 63),
(('102', '393', 'ack'), 8),
(('117', '393', 'bcx'), 57),
(('390', '393', 'wff'), 41),
(('393', '102', 'wer'), 40),
(('393', '102', 'wfv'), 78),
(('393', '117', 'iyy'), 7),
(('393', '448', 'wec'), 25),
]
我正在尝试提取元组,其中“('102','393','abc'),63)和“('102','393','ack'),8)”在同一个小列表中
所以输出应该是
[
[ (('102', '393', 'abc'), 63), (('102', '393', 'ack'), 8)],
[ (('117', '393', 'bcx'), 57)],
[ (('390', '393', 'wff'), 41)],
[ (('393', '102', 'wer'), 40), (('393', '102', 'wfv'), 78)],
[ (('393', '117', 'iyy'), 7)],
[ (('393', '448', 'wec'), 25)]
]
我正在尝试用python和bubble\u sort执行它。我试过了
for i in range(1, len(x)):
for j in range(0, len(x)):
if x[j][0] == x[j + 1][0] and x[j][1] == x[j + 1][1]:
pass
但是,它不起作用
在此方面的任何帮助都将不胜感激
使用
itertools.groupby
(doc):印刷品:
您可以尝试使用defaultdict/dict:
输出:
如果要仅从每个列表项中获取第二个元素,请在进行上述处理之后:
输出:
相关问题 更多 >
编程相关推荐