Mengambil semula Senarai Dipetakan dalam Python 3.x: map() sebagai Iterator
Dalam Python 3.x, fungsi map() mengembalikan iterator dan bukannya senarai. Perubahan ini dilaksanakan untuk meningkatkan kecekapan memori dan mengoptimumkan prestasi. Walau bagaimanapun, ia menimbulkan cabaran jika anda perlu mendapatkan semula nilai yang dipetakan sebagai senarai untuk pemprosesan selanjutnya.
Penyelesaian: Menukar Iterator kepada Senarai
Untuk mendapatkan semula nilai dipetakan sebagai senarai, gunakan fungsi list() untuk menukar lelaran yang dikembalikan oleh map():
mapped_list = list(map(chr, [66, 53, 0, 94]))
Kod ini akan mengembalikan senarai yang mengandungi aksara yang dipetakan: ['B', '5', 'x00', '^'].
Alternatif: Menggunakan Pemahaman Senarai
Cara yang lebih ringkas untuk menukar senarai kepada senarai nilai yang dipetakan ialah menggunakan kefahaman senarai:
mapped_list = [chr(c) for c in [66, 53, 0, 94]]
Ungkapan ini menghasilkan hasil yang sama seperti contoh map() di atas.
Lelaran Atas Objek Peta Secara Terus
Dalam senario tertentu, anda mungkin tidak perlu menukar objek peta kepada senarai. Anda boleh lelaran ke atas objek peta secara terus menggunakan gelung for:
for c in map(chr, [65, 66, 67, 68]): print(c)
Kod ini akan mencetak aksara "ABCD" tanpa membuat senarai yang tidak perlu.
Atas ialah kandungan terperinci Bagaimanakah Saya Mendapatkan Senarai daripada Iterator `map()` Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!