Почему результат сортировки списков Python так странно, когда ключевая функция использует .count ()? [дублировать]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему результат сортировки списков Python так странно, когда ключевая функция использует .count ()? [дублировать]

Сообщение Anonymous »

Код выглядит следующим образом, используя функцию ключа для подсчета количества раз, когда каждый элемент появляется в списке:

Код: Выделить всё

input_list = list('aaddccdc')
input_list.sort(key=lambda i: (-input_list.count(i), ord(i)))
print(input_list)
< /code>
Мы получаем результат в неожиданном порядке < /p>
['a', 'a', 'c', 'c', 'c', 'd', 'd', 'd']
Если он изменен, чтобы мы использовали копию в ключе function

Код: Выделить всё

input_list = list('aaddccdc')

snapshot = input_list.copy()
input_list.sort(key=lambda i: (-snapshot.count(i), ord(i)))

print(input_list)
< /code>
Мы получаем различный, ожидаемый заказ < /p>
['c', 'c', 'c', 'd', 'd', 'd', 'a', 'a']
Почему это?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ction-uses
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему результат сортировки списков Python так странно? [дублировать]
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Почему результат сортировки списков Python так странно? [дублировать]
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Почему моя функция сортировки C ++ намного медленнее, чем моя функция сортировки C#?
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Почему моя функция сортировки C ++ намного медленнее, чем моя функция сортировки C#?
    Anonymous » » в форуме C++
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • SELECT COUNT(*) AS count – Как использовать этот счетчик
    Гость » » в форуме Php
    0 Ответы
    96 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»