Соответствие Python - PullRequest
       3

Соответствие Python

0 голосов
/ 13 июня 2018

У меня есть 3 великолепных списка, и я хотел бы установить с ними отношения 1: 1: 1.Для ясности я покажу списки:

lstA= [[[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (16, 0)], [(8, 1), (9, 1), (10, 1), (16, 0)], [(11, 1), (12, 1), (13, 1), (14, 1), (15, 1), (16, 0)]], [[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (17, 0)], [(8, 1), (9, 1), (10, 1), (17, 0)], [(11, 1), (12, 1), (13, 1), (14, 1), (15, 1), (17, 0)]], [[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (18, 0)], [(8, 1), (9, 1), (10, 1), (18, 0)], [(11, 1), (12, 1), (13, 1), (14, 1), (15, 1), (18, 0)]], [[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (19, 0)], [(8, 1), (9, 1), (10, 1), (19, 0)], [(11, 1), (12, 1), (13, 1), (14, 1), (15, 1), (19, 0)]]]

lstB= [[[1, 1, 1, 1, 1, 1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, 1, 1, -1]], [[1, 1, 1, 1, 1, 1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, 1, 1, -1]], [[1, 1, 1, 1, 1, 1, 1, 1, -3], [1, 1, 1, -1], [1, 1, 1, 1, 1, -2]], [[1, 1, 1, 1, 1, 1, 1, 1, -3], [1, 1, 1, -1], [1, 1, 1, 1, 1, -2]]]

lstC= [[[8], [3], [5]], [[8], [3], [5]], [[8], [3], [5]], [[8], [3], [5]]]

Каждый из этих списков состоит из 4 списков, которые одновременно состоят из 3 списков.Мне нужно сопоставить и распечатать каждый элемент списка с тем, который соответствует той же позиции других списков:

Например, первый подобранный элемент будет:

[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (16, 0)]), [1, 1, 1, 1, 1, 1, 1, 1, -2], [8]

Второй соответствующий элемент будет: [(8, 1), (9, 1), (10, 1), (16, 0)], [1, 1, 1, -1], [3]

Есть предложения, чтобы это сделать?

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете использовать zip, как предложено Жюльеном и Хуанпой в комментариях, но тогда вам придется сгладить списки:

for i in range(len(lstA)):
    for elt in zip(lstA[i], lstB[i], lstC[i]):
        print elt

Вместо этого вы также можете использовать вложенные циклы:

for i in range(len(lstA)):
    for j in range(len(lstA[i])):
        print lstA[i][j], lstB[i][j], lstC[i][j]

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...