首頁 > 後端開發 > Python教學 > 如何將Python 3的`map`物件轉換為清單?

如何將Python 3的`map`物件轉換為清單?

DDD
發布: 2024-12-15 02:14:14
原創
967 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板