У меня есть вложенный список кортежей, который мне нужно прорваться в один список и отбросить первый порядковый номер каждого. Я не могу понять, как это сделать.Получение уникального и упорядоченного списка из сложного словаря
У меня есть данные примеры, такие как:
[[('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)
Является ли ваш список входных данных всегда списком кортежей, или он произвольно вложен? Ответы до сих пор находятся на правильном пути, но это становится немного сложнее, если вложенность может быть сколь угодно глубокой. –
Да, гнездо - это проблема, которая причиняет мне боль. Решение Christian работает для моего теста. – Baywatch