Как извлечь, но сохранить элементы из списка в списке, вложенном в другой список - PullRequest
4 голосов
/ 30 октября 2019

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

Пока мне удалось вернуть список со всеми желаемыми значениями. Однако значения больше не разделяются на их исходные списки.

my_list = ([[1,2],[3,4]] , [[5,6],[7,8]] , [[9,10],[11,12]])

new_list = []

for i in range(1):
    for j in my_list:
        for h in j:
            new_list.append(h[1])

print(new_list)

Что приводит к:

[2, 4, 6, 8, 10, 12]

Я хочу получить следующий вывод:

[[2,4] , [6,8] , [10,12]]

, чтобы соответствующие элементы все еще были вместе в своем оригиналеэлементы списка.

Ответы [ 2 ]

2 голосов
/ 30 октября 2019

Вам не нужно использовать понимание списка (хотя оно и аккуратнее), поэтому вот рабочий пример, использующий только циклы for. Вы были очень близки, вам просто нужно было добавить свои пункты в списки, которые вы затем добавили в большой список! : -)

my_list = [[[1,2],[3,4]] , [[5,6], [7,8]] , [[9,10],[11,12]]]

result = []
for sub_list in my_list:
    result_sublist = []
    for item in sub_list:
        result_sublist.append(item[1])
    result.append(result_sublist )

print(result)
2 голосов
/ 30 октября 2019

Использовать понимание списка,

>>> new_list = [[y[1] for y in x] for x in my_list]
>>> new_list
[[2, 4], [6, 8], [10, 12]]
...