Так как это сортировка по основанию, в любой итерации мы можем иметь 1 или несколько значений с одинаковым весом: возьмем пример 456 и 656, допустим, мы видим единицу di git, поэтому в ведрах , эти двое будут попадать в список, то есть как [[456, 656]], даже во второй итерации, поскольку оба они имеют 56, они попадут в одну и ту же корзину [[456, 656]].
arr=[j for i in bucket_list for j in i]
То, что нужно этой строке, - это то, что она принимает внутренние элементы каждой корзины в том же порядке, в котором они размещены.