мой многомерный список выглядит следующим образом:
mylist = [[13, 41, 3, 23, 12, 16], [12, 32, 30, 49, 3, 18],
[34, 12, 14, 24, 35, 20], [29, 28, 12, 44, 13, 4],
[31, 44, 6, 49, 5, 39]]
В некоторых списках есть пары (числа с разницей 1). не в каждом списке: (12,13) в первом списке, (34,35) в третьем списке, (28,29) и (12,13) в четвертом.
Я хочу получить все найденные пары, которые должны быть сохранены в (отсортированном) списке на основе частоты (по возрастанию). В моем случае выше, это будет выглядеть следующим образом:
fr_list = [[12,13],[12,13],[28,29],[34,35]]
Я написал следующий код, чтобы найти пары
def find_pairs(lst, key):
return [(a,b) for a,b in permutations(lst, 2) if a-b==key]
Затем я попробовал это:
fr_list = [find_pairs(mylist,1) for x in mylist]
Однако я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <listcomp>
File "<stdin>", line 2, in find_pairs
File "<stdin>", line 2, in <listcomp>
TypeError: unsupported operand type(s) for -: 'list' and 'list'
Кто-нибудь может мне помочь? Благодаря.