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

Bay*_*tch 1 python list unique

我有一个嵌套的元组列表,我需要突破到一个列表并删除每个元组的第一个序列.我似乎无法弄清楚如何实现这一目标.

我有样本数据,例如:

[[('Item 1', <__main__.J object at 0x1018fc690>), ('Item 2', <__main__.J object at 0x1018fc6d0>)]]
Run Code Online (Sandbox Code Playgroud)

而我正试图减少它

[<__main__.J object at 0x1018fc690>, <__main__.J object at 0x1018fc6d0>]
Run Code Online (Sandbox Code Playgroud)

有人可以指出我正确的方向.我试过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)
Run Code Online (Sandbox Code Playgroud)

Chr*_*ian 7

这是你在找什么?

result = [c[1] for b in z for c in b]
print result
Run Code Online (Sandbox Code Playgroud)