Если у вас есть список очень больших чисел в Python, настолько, что компилятор не может получить значение из них в виде чисел. Существует ли функция для сортировки этого списка (сохраняя числа как целые числа) более эффективным способом, например, сравнение числа с числом? (Но без преобразования в строку)Сортировка больших чисел
-2
A
ответ
7
Оба Python 2 и Python 3 ручки произвольно больших целых чисел:
>>> [2**34, 2**38, 2**99, 2**122, 2]
[17179869184, 274877906944, 633825300114114700748351602688L, 5316911983139663491615228241121378304L, 2]
и сортировать их, как и ожидалось:
>>> sorted(_)
[2, 17179869184, 274877906944, 633825300114114700748351602688L, 5316911983139663491615228241121378304L]
(Python 2 покажет L
для как и в примере здесь, в то время как Python 3 показывает целочисленные значения, одинаковые для меньших или больших целых чисел)
2
Это будет решение, которое работает для других языков. У вас может быть список целых чисел. Таким образом, в основном, учитывая число, например 123456789, вы могли бы представить его как
bigNum = [[1,2,3],[4,5,6],[7,8,9]]
Сравнение больших чисел может быть сделано следующим образом:
- Сравните количество цифр
- Если количество цифр равны, сравните числа, начиная с наибольшей цифры.
Смежные вопросы
- 1. Сортировка 2 больших массивов
- 2. Сортировка больших коллекций с Q
- 3. Сортировка ячеек больших матриц numpy
- 4. Модификация модуля больших чисел
- 5. Математическое представление больших чисел?
- 6. Типы для больших чисел
- 7. Отдел больших чисел
- 8. Суммирование больших чисел
- 9. Факторизация больших чисел
- 10. Отливки больших чисел
- 11. Найти факториал больших чисел
- 12. C++ Обработка больших чисел
- 13. ASM печать больших чисел
- 14. Modulo умножения больших чисел
- 15. Matlab: Сохранение больших чисел
- 16. Смещение больших чисел
- 17. C: Печать больших чисел
- 18. Сравнение больших чисел
- 19. Вычитание больших целых чисел
- 20. Отдел больших чисел
- 21. Факториалы больших чисел
- 22. read_csv импорт больших чисел
- 23. Разделения очень больших чисел
- 24. Сохранение больших чисел
- 25. Генерация больших случайных чисел
- 26. Обработка очень больших чисел
- 27. Факториал для больших чисел
- 28. Поразрядное сравнение больших чисел
- 29. Сумма простых чисел для больших чисел
- 30. Упрощение больших чисел с помощью инженерных чисел
Python обрабатывает большое количество без проблем. Попробуйте '1 << 1000'. – dlask
Насколько велики ваши номера? Sys.maxsize + 1 должен быть увеличен до длинного, а количество доступного адресного пространства - это ограничение для ваших номеров. – Boris
Какой компилятор? Python может обрабатывать произвольно большие целые числа. Ваш лимит - это память и время процессора ... – dawg