>백엔드 개발 >파이썬 튜토리얼 >Python 3의 `map` 객체를 목록으로 변환하는 방법은 무엇입니까?

Python 3의 `map` 객체를 목록으로 변환하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-15 02:14:14969검색

How to Convert Python 3's `map` Object to a List?

Python 3.x에서 지도 객체를 목록으로 변환

Python 3.x에서 map() 함수는 기본적으로 목록 대신 반복자를 반환합니다. 매핑된 요소를 직접 사용하려는 경우 이는 불편할 수 있습니다.

문제 설명

일반적인 작업은 정수 목록을 16진수 표현으로 변환하는 것입니다. Python 2.6에서는 아래와 같이 map() 함수를 사용하여 간단했습니다.

# Python 2.6
hex_list = map(chr, [66, 53, 0, 94])  # Return a list of hex characters

그러나 Python 3.1에서는 위 코드가 지도 객체를 반환합니다.

# Python 3.1
hex_map = map(chr, [66, 53, 0, 94])  # Return a map object

해결 방법

Python 3.x에서 매핑된 요소의 실제 목록을 검색하려면 list() 함수를 사용하여 객체를 목록으로 매핑:

hex_list = list(map(chr, [66, 53, 0, 94]))

더 나은 대안

정수 목록을 16진수 표현으로 매핑하는 또 다른 접근 방식은 다음과 같이 목록 이해를 사용하는 것입니다.

hex_list = [chr(n) for n in [66, 53, 0, 94]]

이 접근 방식을 사용하면 map() 함수를 사용할 필요가 없으며 목록이 생성됩니다.

지도 객체 반복

먼저 목록으로 변환하지 않고도 Python 3.x에서 지도 객체를 반복할 수 있습니다.

for ch in map(chr, [65, 66, 67, 68]):
    print(ch)  # Prints "ABCD"

위 내용은 Python 3의 `map` 객체를 목록으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.