Skip to main content
 首页 » 编程设计

python之从复杂字典中导出唯一且有序的列表

2025年05月04日10pander-it

我有一个嵌套的元组列表,我需要将其分解为一个列表并删除每个元组的第一个序号。我似乎无法弄清楚如何完成此任务。

我有示例数据,例如:

[[('Item 1', <__main__.J object at 0x1018fc690>), ('Item 2', <__main__.J object at 0x1018fc6d0>)]] 

我正在尝试将其减少到

[<__main__.J object at 0x1018fc690>, <__main__.J object at 0x1018fc6d0>] 

有人能给我指出正确的方向吗?我试过 itertools 和 zip(*) 都无济于事。

import itertools 
import operator 
 
class J(object): 
    pass 
 
w = J() 
w.Type = 'Item 1' 
w.Page = 35 
w.Fragment = 'AA' 
 
q = J() 
q.Type = 'Item 2' 
q.Page = 78 
q.Fragment = 'BA' 
 
z = [[('Item 1', w),('Item 2', q)]] 
y = [b for b in z] 
print y 
 
result = ([ a for a,b in z ], [ b for a,b in z ]) 
print result 
print zip(*z) 

请您参考如下方法:

这就是您要找的东西?

result = [c[1] for b in z for c in b] 
print result