|
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
|
|||||||||||
Зачем нужна функция enumerate?14.02.2018, 17:03. Показов 5546. Ответов 40
Метки нет (Все метки)
Если нам нужны индексы элементов списка A, то пишем
0
|
|||||||||||
| 14.02.2018, 17:03 | |
|
Ответы с готовыми решениями:
40
Объясните зачем нужна данная функция Зачем нужна Функция, для чего и в каких моментах используется? Что делает функция Enumerate()? |
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
|
| 16.02.2018, 01:09 | |
|
0
|
|
|
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
|
|||||||||||
| 16.02.2018, 12:37 [ТС] | |||||||||||
|
Отвечая на собственный вопрос, я пришел к выводу, что enumerate() имеет смысл с коллекциями типа связный список (на линейных массивах оно не дает никаких приемуществ), но и то только для экономии количества строчек кода, потому что с точки зрения производительности счетчик всё равно рулит. Как-то так)
0
|
|||||||||||
|
|
||
| 16.02.2018, 13:04 | ||
|
Ведите себя поспокойнее, сударь. Можно подумать, вас тут кто-то уговаривает пользоваться enumerate против воли.
0
|
||
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
|||||
| 16.02.2018, 14:01 | |||||
|
Количество строк существенно влияет на читабельность (но зависит от того, за счёт чего происходит уменьшение количества строк). В большинстве случаев читабельность кода важнее скорости работы кода. То есть, нормально написанный код почти всегда можно ускорить, но в большинстве случаев это ускорение будет считаться злом.
0
|
|||||
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 16.02.2018, 14:10 | |
|
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 16.02.2018, 14:24 | |
|
0
|
|
|
|
|||||||
| 16.02.2018, 14:28 | |||||||
0
|
|||||||
|
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
|
|||||||
| 16.02.2018, 15:18 [ТС] | |||||||
|
возможно, просто разработчики pypy не любили функцию enumerate, но у меня на вашем варианте получается немного другой результат:
0
|
|||||||
|
|
||
| 16.02.2018, 15:31 | ||
|
PyPy это отдельная реализация Python. А то давайте сюда еще подтянем IronPython и посмотрим как там enumerate реализована.
0
|
||
|
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
|
|
| 16.02.2018, 15:57 [ТС] | |
|
если сравнивать производительность, так уж на pypy. смысл запускать это на медленном cpython?
0
|
|
|
|
|
| 16.02.2018, 16:11 | |
|
Код на pypy транслируется в Си, а затем компилируется в машинный код. Вы действительно не видите разницы?
В Си никакого enumerate нет и ваши сравнения производительности разных конструкций из python в данном случае бессмысленны. А производительность тут будет зависеть от используемого компилятора Си, его опций, ОС и т.д.
1
|
|
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
||||||
| 16.02.2018, 16:33 | ||||||
0
|
||||||
|
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
|
|
| 16.02.2018, 16:42 [ТС] | |
|
0
|
|
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
||
| 16.02.2018, 17:09 | ||
|
Компилировать без оптимизации не показательно, а нормальный оптимизатор Ваш цикл должен выпилить. Польза от enumerate() не зависит от разницы в скорости выполнения между test2 и test3.
0
|
||
|
|
||||||
| 16.02.2018, 18:56 | ||||||
|
Shamil1,
На сайте pypy написано, что 32-битная версия работает на x64 Windows, нужно только, чтобы была установлена runtime библиотека от MSVS 32-битной версии. ------------------------------------------------------ spyphy, У меня разница по тестам в PyPy для обычного списка вообще пренебрежительно мала, чтобы о ней можно было реально заморачиваться. А раз так, то читабельность имеет больший приоритет.
0
|
||||||
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
||
| 17.02.2018, 05:09 | ||
|
0
|
||
| 17.02.2018, 14:04 | |
|
Не по теме: Я вообще не понимаю, о чём спор. Ну не любит человек enumerate.. Пусть не использует
0
|
|
|
|
|||||||
| 17.02.2018, 14:31 | |||||||
|
А то слишком народа приходит в python со своим уставом: то им это отступы не нравятся, то это кажется "нинужно"... Решил кодить на python -
2
|
|||||||
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
|
| 17.02.2018, 20:05 | |
|
Код пишет один программист, а читают его потом обычно десятки программистов. Поэтому нужно писать не так, как нравится, а правильно.
1
|
|
|
|
||
| 19.02.2018, 14:11 | ||
|
0
|
||
| 19.02.2018, 14:11 | |
|
Помогаю со студенческими работами здесь
40
Зачем нужна вертикальная черта в запросе? Зачем нужна функция SetCursor?
Зачем нужна функция cin.ignore()?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|