首頁 >後端開發 >Python教學 >如何將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() 函數預設回傳迭代器而不是列表。如果您想直接使用已對應的元素,這可能會很不方便。

問題陳述

一個常見的任務是將整數列表轉換為其十六進位表示形式。在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()函數轉換map物件到列表中:

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

更好的替代方法

將整數列表對應到其十六進位表示的另一種方法是使用列表理解,如下所示:

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