Как создать несколько небольших списков, которые содержат указанные индексы на основе большего списка во вложенном списке? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть список с вложенными списками, которые имеют разный размер.Я хочу найти те, которые содержат 3 объекта и разделить их на 3 разных списка в следующем формате: от [x, y, z] до [x, y], [x, z], [y, z]

Я уже попробовал функцию добавления, но она не работает

edges3_2000= [[980065855, 981668537], [979913095, 979913834],
 [968276549, 974397900, 982082188],[976522303, 980117189],
 [935286395, 979789696, 981925831], [932339048, 971089121]]

edges5_2000 =[]
for sublist in edges3_2000:           
        if len(sublist) == 3:
            edges5_2000.append(sublist[0][1])
            edges5_2000.append(sublist[0][2])
            edges5_2000.append(sublist[1][2])

Это приводит к сообщению об ошибке: TypeError: 'int' object is not subscriptable

1 Ответ

2 голосов
/ 18 июня 2019

Если sublist == [968276549, 974397900, 982082188], то sublist[0] == 968276549 и sublist[0][1] пытаются подписать целое число.

Измените добавляемые строки на:

edges5_2000.append([sublist[0], sublist[1]])
edges5_2000.append([sublist[0], sublist[2]])
edges5_2000.append([sublist[1], sublist[2]])
...