Выберите первый элемент в каждом списке - PullRequest
0 голосов
/ 29 апреля 2020

Вот мой список:

[(('A', 'B'), ('C', 'D')), (('E', 'F'), ('G', 'H'))]

По сути, я хотел бы получить:

[('A', 'C'), ('E', 'G')]

Итак, я хотел бы выбрать первые элементы из нижнего уровня списки и строить списки среднего уровня с ними.

================================= ==================

Дополнительные пояснения ниже:

Я мог бы просто застегнуть их на

list(zip([w[0][0] for w in list1], [w[1][0] for w in list1]))

Но позже я хотел бы добавить условие: вторые элементы в списках самого низкого уровня должны быть 'B' и 'D' соответственно, поэтому конечный результат должен быть:

[('A', 'C')] # ('E', 'G') must be sorted out

Я новичок , но нигде не могу найти дело ... Был бы признателен за помощь.

1 Ответ

1 голос
/ 29 апреля 2020

Я бы сделал это следующим образом

list = [(('A', 'B'), ('C', 'D')), (('E', 'F'), ('G', 'H'))]  
out = [] 
for i in list:
   listAux = []
   for j in i:
       listAux.append(j[0])
   out.append((listAux[0],listAux[1]))  
print(out)

Надеюсь, это то, что вы ищете.

...