Я хотел бы разделить список на k
подсписок, каждый из которых имеет примерно одинаковое значение отклика.Как разделить список на k подписок с примерно одинаковыми значениями?
У меня есть списки вида:
L = [[1,2,3,2], [4,5,2,2], [2,3,9,1], [5,7,2,1], [2,3,3,1]]
Значение ответа является последним элементом каждого подсписка. Здесь значение отклика имеет диапазон [1,2]
Если к = 2, то два подсписки с приблизительно равной ответа являются А и В:
A = [[1,2,3,2], [2,3,3,1] # it has response values 1,2
B = [[2,3,9,1], [4,5,2,2], [5,7,2,1]] # it has response values 1,2,1
Единственное, что пришло на мой взгляд, было как-то использовать сортировку. Но, возможно, есть какой-то питонический способ сделать это. Поскольку список L может быть очень длинным, скажем, 10000, я ожидаю, что это будет эффективный способ.
Что не так с алгоритмом * сортировки *, который вы использовали? Может быть, показать это нам. – wwii
Что такое 'k'? – thefourtheye
@ thefourtheye k - количество подписок, которые мне нужно сформировать, разделив список L. –