@Ninzalo

Какая разница между двумя списками?

Какая разница между "for entry in list_of_data: " и "for entry in [item for item in list_of_data]:" , если нигде дальше я не изменяю этот список (list_of_data)?
После изменения "for entry in list_of_data: " на "for entry in [item for item in list_of_data]:" выходные данные изменились.
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Разница в том, что это разные объекты. Соответственно, при внешней похожести ты перебираешь элементы разных составных объектов. В первом случае ты перебираешь элементы списка list_of_data, а во втором - элементы производного списка.
Это, на мой взгляд, основное и существенное отличие.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dmshar
Разницы никакой, кроме того, что круто, на порядок изменяется время выполнения. Сравните:

import timeit
measurements = timeit.repeat('for i in [1,2,3,4,5]: pass', number=1000000)
print(measurements)

Результаты:
[0.09542479999998932, 0.07413599999995313, 0.08125240000003942, 0.07413070000001198, 0.08504640000001018]

и
import timeit
measurements = timeit.repeat('for i in [item for item in [1,2,3,4,5]]: pass', number=1000000)
print(measurements)

Результаты:
[0.3339560999999662, 0.4172341999999958, 0.42956249999997453, 0.37294059999999263, 0.3278073999999833]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы