2016-03-27 4 views
0

Под капотом, не являются ли итерами только списки? Какая польза от оберток, таких как mapfilterlist и другие подобные им? Что на самом деле означает что-то вроде filter, за исключением его происхождения? Когда (кроме краткости в примерах), x лучше, чем list(x), где x является итерируемым?В чем разница между итерируемым и списком в python 3?

Одна вещь, которую я слышал, заключается в том, что сохранение map и filter в качестве итераций происходит быстрее, чем использование их в качестве списков. Почему это? Какая разница при капоте, которая делает итераторы быстрее?

ответ

1

Разница между итерируемым и списком похожа на разницу между цветком и розой.

Все розы - это цветы, но не все цветы - это розы.

Все списки являются итерабельными, но не все итерации являются списками.

итерацию

объект, способный возвращать его членам по одному. Итераторы включают в себя все типы последовательностей (например, список, str и кортежи).

Список является итерируемым и содержит некоторые другие особенности, которые необходимо перечислять.

Проверьте это: https://docs.python.org/3.5/glossary.html особенно на итерируемой части.