Как и другие упомянутые кортежи неизменны.Сортировка кортежа (например, sorted(mytuple)
) возвращает список, который вы затем должны были бы преобразовать обратно в кортеж.
Чтобы отсортировать кортеж (и сохранить его как кортеж), вам нужно сделать это:
mytuple = (3,2,1)
mysortedtuple = tuple(sorted(mytuple))
Чтобы отсортировать список, вам нужно сделать следующее:
mylist = [3,2,1]
mylist.sort()
Поскольку вы не используете приведение и повторное приведение, последний, в данном случае, болееЭффективно.
Не зацикливайтесь на использовании кортежей над списками, если у вас нет веских оснований.Если вам нужны отсортированные данные, кортежи не подходят, если они не созданы таким образом.Кортежи работают лучше, когда содержащиеся в них данные НЕ ИЗМЕНЯЮТСЯ, например, с параметрами конфигурации, загруженными во время выполнения, или с данными, которые уже были обработаны.
Учитывая, что вы упомянули, что обрабатываете большой набор данных, выВозможно, вы захотите взглянуть на использование функционального стиля программирования с помощью генераторов и итераторов по спискам и кортежам.Таким образом, вы не будете перемещаться и создавать новые контейнеры, а просто будете цеплять итерационные операции, чтобы получить конечный результат.
Дополнительная литература: