Кортежи более эффективны, чем списки в Python?
В целом можно ожидать, что performance кортежи будут немного быстрее. Однако pythonic вам обязательно следует протестировать tuple ваш конкретный случай (если efficiency разница может повлиять на fast производительность вашей tuples программы - помните, что python-interpreter "преждевременная оптимизация fast - корень всех зол").
Python efficiency делает это очень просто: timeit — ваш efficiency друг.
$ python -m timeit "x=(1,2,3,4,5,6,7,8)"
10000000 loops, best of 3: 0.0388 usec per loop
$ python -m timeit "x=[1,2,3,4,5,6,7,8]"
1000000 loops, best of 3: 0.363 usec per loop
и...
$ python -m timeit -s "x=(1,2,3,4,5,6,7,8)" "y=x[3]"
10000000 loops, best of 3: 0.0938 usec per loop
$ python -m timeit -s "x=[1,2,3,4,5,6,7,8]" "y=x[3]"
10000000 loops, best of 3: 0.0649 usec per loop
Таким образом, в python этом случае создание экземпляра python-list для кортежа происходит почти slow на порядок быстрее, но доступ performance к элементу на самом деле lists несколько быстрее для списка! Поэтому, если python-shell вы создаете несколько кортежей python-internals и обращаетесь к ним много efficiency раз, на самом деле может lists быть быстрее использовать list списки.
Конечно, если вы хотите python-interpreter изменить элемент, список определенно python-shell будет быстрее, так как вам speed нужно будет создать целый list новый кортеж, чтобы изменить python-interpreter один его элемент (поскольку tuples кортежи неизменяемы).
python
performance
list
tuples
python-internals
Кортежи более эффективны, чем списки в Python?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.