> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 `str(_) for _ in xrange(10)`는 List입니까, 아니면 Iterable입니까?

Python에서 `str(_) for _ in xrange(10)`는 List입니까, 아니면 Iterable입니까?

Susan Sarandon
풀어 주다: 2024-12-15 11:33:10
원래의
106명이 탐색했습니다.

Is `str(_) for _ in xrange(10)` a List or an Iterable in Python?

대괄호가 없는 Python 목록 이해

Python의 "join" 함수를 사용할 때 인수로 반복 가능 항목이 필요합니다. 일반적으로 리스트 컴프리헨션은 대괄호로 묶이지만 생략할 수도 있습니다. 이 겉보기에 역설적인 동작은 다음과 같은 질문을 제기합니다. "str(_) for _ in xrange(10)" 표현식이 목록을 생성합니까, 아니면 반복 가능을 생성합니까?

생성기 표현식

설명은 목록 이해와 유사한 표기법을 갖지만 대괄호가 없는 Python의 생성기 표현식에 있습니다. 생성기 표현식은 요청 시 요소를 한 번에 하나씩 생성하여 메모리 효율성과 성능을 향상시킵니다.

"join" 예에서 "str(_) for _ in xrange(10)"는 느리게 생성하는 생성기 표현식입니다. 0부터 9까지 숫자의 문자열 표현을 생성합니다. 이 생성기 표현식은 반복 가능하며 "join" 함수의

성능 고려 사항

생성기 표현식은 일반적으로 목록 이해에 비해 성능 이점을 제공하지만 "조인"의 경우 항상 그런 것은 아닙니다. "조인" 기능을 사용하려면 데이터에 대해 두 번의 패스가 필요하므로 전체 목록을 메모리에 저장하는 이점이 있습니다. 결과적으로 목록 이해력("[str(_) for in xrange(10)]")은 "에서 생성기 표현식("str(_) for in xrange(10)")보다 성능이 뛰어납니다. 가입" 컨텍스트. 벤치마크를 통해 이러한 성능 이점이 확인되었습니다.

결론

Python 코드를 최적화하려면 생성기 표현식을 이해하는 것이 중요합니다. 그러나 "조인"이라는 특정 사례에서는 함수가 전체 목록을 두 번 반복해야 하기 때문에 기존 목록 이해가 더 효율적인 옵션으로 남아 있습니다.

위 내용은 Python에서 `str(_) for _ in xrange(10)`는 List입니까, 아니면 Iterable입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿