Bagaimana Anda membuat daftar yang dipetakan dengan python?

Python menyediakan fungsi map() , yang dapat Anda manfaatkan untuk menerapkan fungsi tertentu ke semua elemen yang diberikan dalam setiap iterable tertentu. Fungsi ini mengembalikan iterator itu sendiri sebagai output. Dimungkinkan juga untuk mengonversi objek peta ke objek urutan seperti tuple dan daftar dengan memanfaatkan fungsi pabriknya sendiri

Show

Tutorial ini akan membahas dan mendemonstrasikan berbagai metode yang dapat Anda gunakan untuk mengonversi objek peta menjadi daftar dengan Python

Gunakan Metode list() untuk Mengonversi Objek Peta Menjadi Daftar dengan Python

Daftar adalah bagian dari empat tipe data bawaan yang disediakan dalam Python dan dapat digunakan untuk menyimpan beberapa item dalam satu variabel. Daftar diurutkan, dapat diubah, dan memiliki hitungan yang pasti

Fungsi list() digunakan untuk membuat objek daftar dengan Python. Metode ini digunakan untuk mengubah tupel tertentu menjadi daftar. Kode berikut menggunakan metode list() untuk mengonversi objek peta menjadi daftar dengan Python

a = list(map(chr,[70,50,10,96]))
print(a)

Keluaran

Banyak proses yang beroperasi atau dijalankan melalui iterables mengembalikan iterator sendiri di Python 3; . Ini juga mengarah pada program yang lebih baik dan lebih efisien dijalankan

Gunakan Metode Pemahaman Daftar untuk Mengonversi Objek Peta menjadi Daftar dengan Python

Metode pemahaman daftar adalah cara yang relatif lebih singkat dan sangat anggun untuk membuat daftar yang dibentuk berdasarkan nilai yang diberikan dari daftar yang sudah ada. Metode ini dapat digunakan dalam kasus ini, bersama dengan iterasi sederhana untuk membuat daftar dari objek peta

Program di bawah menggunakan metode ini untuk mengonversi objek peta menjadi daftar dengan Python

a = [chr(i) for i in [70,50,10,96]]
print(a)
_

Keluaran

Gunakan Iterable Unpacking Operator * untuk Mengonversi Objek Peta Menjadi Daftar dengan Python

Dalam Python, istilah unpacking_ dapat didefinisikan sebagai operasi yang tujuan utamanya adalah untuk menetapkan iterable dengan semua nilai ke Daftar atau Tuple, asalkan dilakukan dalam satu pernyataan penugasan

Tanda bintang * digunakan sebagai operator unpacking iterable. Operator unpacking iterable dapat bekerja secara efisien dan sangat baik untuk Tuples dan List

Kode berikut menggunakan iterable unpacking operator * untuk mengonversi objek peta menjadi daftar dengan Python

a = [*map(chr, [70, 50, 10, 96])]
print(a)

Keluaran

Dalam kebanyakan kasus, metode ini lebih efisien daripada dua lainnya. Namun, dengan margin yang sangat kecil sebagai operator unpacking iterable, metode * lebih pendek hanya dengan satu karakter dari metode pemahaman daftar. Ketiga metode ini bekerja dengan sangat baik, dan Anda dapat menggunakan salah satu dari metode ini dalam pemrograman sehari-hari biasa

Python adalah fungsi bawaan yang memungkinkan Anda untuk memproses dan mengubah semua item dalam iterable tanpa menggunakan loop

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
6 eksplisit, teknik yang umumnya dikenal sebagai pemetaan.
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 berguna saat Anda perlu menerapkan fungsi transformasi ke setiap item dalam iterable dan mengubahnya menjadi iterable baru.
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 adalah salah satu alat yang mendukung gaya pemrograman fungsional di Python

Dalam tutorial ini, Anda akan belajar

  • Cara kerja
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    _5 Python
  • Cara mengubah berbagai jenis iterables Python menggunakan
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    5
  • Cara menggabungkan
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    _5 dengan alat fungsional lainnya untuk melakukan transformasi yang lebih kompleks
  • Alat apa yang dapat Anda gunakan untuk mengganti
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    _5 dan membuat kode Anda lebih Pythonic

Dengan pengetahuan ini, Anda akan dapat menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 secara efektif dalam program Anda atau, alternatifnya, menggunakan pemahaman daftar atau membuat kode Anda lebih Pythonic dan mudah dibaca

Untuk pemahaman yang lebih baik tentang

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5, beberapa pengetahuan sebelumnya tentang cara bekerja dengan ,
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
6 loop, fungsi, dan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6 fungsi akan sangat membantu

Bonus Gratis. 5 Pemikiran Tentang Python Mastery, kursus gratis untuk pengembang Python yang menunjukkan kepada Anda peta jalan dan pola pikir yang Anda perlukan untuk meningkatkan keterampilan Python Anda ke tingkat berikutnya

Pengkodean Dengan Gaya Fungsional di Python

Dalam pemrograman fungsional, komputasi dilakukan dengan menggabungkan fungsi yang mengambil argumen dan mengembalikan nilai (atau nilai) konkret sebagai hasilnya. Fungsi-fungsi ini tidak mengubah argumen inputnya dan tidak mengubah status program. Mereka hanya memberikan hasil perhitungan yang diberikan. Fungsi semacam ini umumnya dikenal sebagai fungsi murni

Secara teori, program yang dibangun menggunakan gaya fungsional akan lebih mudah

  • Kembangkan karena Anda dapat membuat kode dan menggunakan setiap fungsi secara terpisah
  • Debug dan uji karena Anda dapat menguji dan men-debug fungsi individual tanpa melihat bagian program lainnya
  • Pahami karena Anda tidak perlu berurusan dengan perubahan status di seluruh program

Pemrograman fungsional biasanya menggunakan daftar, larik, dan iterable lainnya untuk merepresentasikan data bersama dengan serangkaian fungsi yang beroperasi pada data tersebut dan mengubahnya. Dalam mengolah data dengan gaya fungsional, setidaknya ada tiga teknik yang umum digunakan

  1. Pemetaan terdiri dari penerapan fungsi transformasi ke iterable untuk menghasilkan iterable baru. Item di iterable baru dihasilkan dengan memanggil fungsi transformasi pada setiap item di iterable asli

  2. Penyaringan terdiri dari menerapkan predikat atau fungsi bernilai Boolean ke iterable untuk menghasilkan iterable baru. Item di iterable baru diproduksi dengan memfilter item apa pun di iterable asli yang membuat fungsi predikat kembali salah

  3. Pengurangan terdiri dari menerapkan fungsi pengurangan ke iterable untuk menghasilkan nilai kumulatif tunggal

Menurut Guido van Rossum, Python lebih kuat dipengaruhi oleh bahasa pemrograman imperatif daripada bahasa fungsional

Saya tidak pernah menganggap Python sangat dipengaruhi oleh bahasa fungsional, tidak peduli apa yang orang katakan atau pikirkan. Saya jauh lebih akrab dengan bahasa imperatif seperti C dan Algol 68 dan meskipun saya telah membuat fungsi objek kelas satu, saya tidak melihat Python sebagai bahasa pemrograman fungsional. (Sumber)

Namun, pada tahun 1993, komunitas Python menuntut beberapa fitur pemrograman fungsional. Mereka meminta

  • Fungsi anonim
  • Fungsi
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    5
  • Fungsi
    >>> numbers = [-2, -1, 0, 1, 2]
    
    >>> abs_values = list(map(abs, numbers))
    >>> abs_values
    [2, 1, 0, 1, 2]
    
    >>> list(map(float, numbers))
    [-2.0, -1.0, 0.0, 1.0, 2.0]
    
    >>> words = ["Welcome", "to", "Real", "Python"]
    
    >>> list(map(len, words))
    [7, 2, 4, 6]
    
    _8
  • Fungsi
    >>> numbers = [-2, -1, 0, 1, 2]
    
    >>> abs_values = list(map(abs, numbers))
    >>> abs_values
    [2, 1, 0, 1, 2]
    
    >>> list(map(float, numbers))
    [-2.0, -1.0, 0.0, 1.0, 2.0]
    
    >>> words = ["Welcome", "to", "Real", "Python"]
    
    >>> list(map(len, words))
    [7, 2, 4, 6]
    
    _9

Fitur fungsional ini ditambahkan ke bahasa berkat kontribusi anggota komunitas. Saat ini, , , dan

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_9 adalah komponen fundamental dari gaya pemrograman fungsional di Python

Dalam tutorial ini, Anda akan membahas salah satu fitur fungsional ini, fungsi bawaan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Anda juga akan mempelajari cara menggunakan pemahaman daftar dan mendapatkan fungsionalitas yang sama dari
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dengan cara Pythonic dan mudah dibaca

Hilangkan iklan

Memulai Dengan >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] _5 Python

Terkadang Anda mungkin menghadapi situasi di mana Anda perlu melakukan operasi yang sama pada semua item input iterable untuk membuat iterable baru. Pendekatan tercepat dan paling umum untuk masalah ini adalah dengan menggunakan loop Python

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
6. Namun, Anda juga dapat mengatasi masalah ini tanpa loop eksplisit dengan menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5

Dalam tiga bagian berikut, Anda akan mempelajari cara kerja

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dan cara menggunakannya untuk memproses dan mengubah iterables tanpa loop

Memahami >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] _5

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 mengulang item dari input iterable (atau iterables) dan mengembalikan iterator yang dihasilkan dari penerapan fungsi transformasi ke setiap item dalam iterable input asli

Menurut ,

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 mengambil objek fungsi dan iterable (atau beberapa iterables) sebagai argumen dan mengembalikan iterator yang menghasilkan item yang diubah sesuai permintaan. Tanda tangan fungsi didefinisikan sebagai berikut

map(function, iterable[, iterable1, iterable2,..., iterableN])

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 berlaku
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3 untuk setiap item di
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
4 dalam satu lingkaran dan mengembalikan iterator baru yang menghasilkan item yang diubah sesuai permintaan.
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3 dapat berupa fungsi Python apa pun yang membutuhkan sejumlah argumen yang sama dengan jumlah iterables yang Anda berikan ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5

Catatan. Argumen pertama untuk

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 adalah objek fungsi, yang berarti Anda harus meneruskan fungsi tanpa memanggilnya. Artinya, tanpa menggunakan tanda kurung

Argumen pertama untuk

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 ini adalah fungsi transformasi. Dengan kata lain, itu adalah fungsi yang mengubah setiap item asli menjadi item baru (yang diubah). Meskipun dokumentasi Python menyebut argumen ini
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3, itu bisa berupa apa saja yang bisa dipanggil Python. Ini termasuk , kelas, metode,
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6 fungsi, dan fungsi yang ditentukan pengguna

Operasi yang dilakukan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 umumnya dikenal sebagai pemetaan karena memetakan setiap item dalam masukan yang dapat diubah ke item baru dalam hasil yang dapat diulang. Untuk melakukan itu,
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 menerapkan fungsi transformasi ke semua item di input iterable

Untuk lebih memahami

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5, misalkan Anda perlu mengambil daftar nilai numerik dan mengubahnya menjadi daftar yang berisi nilai kuadrat dari setiap angka dalam daftar asli. Dalam hal ini, Anda dapat menggunakan loop
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_6 dan membuat kode seperti ini

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_

Saat Anda menjalankan loop ini pada

>>> list(map(lambda x, y: x - y, [2, 4, 6], [1, 3, 5]))
[1, 1, 1]

>>> list(map(lambda x, y, z: x + y + z, [2, 4], [1, 3], [7, 8]))
[10, 15]
_5, Anda mendapatkan daftar nilai kuadrat. Loop
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_6 berulang pada
>>> list(map(lambda x, y: x - y, [2, 4, 6], [1, 3, 5]))
[1, 1, 1]

>>> list(map(lambda x, y, z: x + y + z, [2, 4], [1, 3], [7, 8]))
[10, 15]
5 dan menerapkan operasi daya pada setiap nilai. Akhirnya, ini menyimpan nilai yang dihasilkan di
>>> list(map(lambda x, y: x - y, [2, 4, 6], [1, 3, 5]))
[1, 1, 1]

>>> list(map(lambda x, y, z: x + y + z, [2, 4], [1, 3], [7, 8]))
[10, 15]
8

Anda dapat mencapai hasil yang sama tanpa menggunakan loop eksplisit dengan menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Lihatlah implementasi ulang berikut dari contoh di atas

>>>_______ 47 ________

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]

>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']
0 adalah fungsi transformasi yang memetakan angka ke nilai kuadratnya. Panggilan ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 berlaku
>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']
0 ke semua nilai di
>>> list(map(lambda x, y: x - y, [2, 4, 6], [1, 3, 5]))
[1, 1, 1]

>>> list(map(lambda x, y, z: x + y + z, [2, 4], [1, 3], [7, 8]))
[10, 15]
5 dan mengembalikan iterator yang menghasilkan nilai kuadrat. Kemudian Anda memanggil
>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']
4 di
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk membuat objek daftar yang berisi nilai kuadrat

Karena

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 ditulis dalam C dan sangat dioptimalkan, loop tersirat internalnya bisa lebih efisien daripada loop
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
6 Python biasa. Ini adalah salah satu keuntungan menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5

Keuntungan kedua menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 terkait dengan konsumsi memori. Dengan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_6 loop, Anda perlu menyimpan seluruh daftar di memori sistem Anda. Dengan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5, Anda mendapatkan item sesuai permintaan, dan hanya satu item yang ada di memori sistem Anda pada waktu tertentu

Catatan. Dalam Python2. x, mengembalikan daftar. Perilaku ini berubah di. Sekarang,

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 mengembalikan objek peta, yang merupakan iterator yang menghasilkan item sesuai permintaan. Itu sebabnya Anda perlu memanggil
>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']
4 untuk membuat objek daftar yang diinginkan

Sebagai contoh lain, katakanlah Anda perlu mengonversi semua item dalam daftar dari string ke bilangan bulat. Untuk melakukannya, Anda dapat menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 bersama dengan
>>> with_spaces = ["processing ", "  strings", "with   ", " map   "]

>>> list(map(str.strip, with_spaces))
['processing', 'strings', 'with', 'map']
6 sebagai berikut

>>>

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 berlaku untuk setiap nilai di
>>> with_spaces = ["processing ", "  strings", "with   ", " map   "]

>>> list(map(str.strip, with_spaces))
['processing', 'strings', 'with', 'map']
9. Karena
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 mengembalikan iterator (objek peta), Anda harus memanggil
>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']
4 agar Anda dapat menghabiskan iterator dan mengubahnya menjadi objek daftar. Perhatikan bahwa urutan asli tidak diubah dalam proses

Hilangkan iklan

Menggunakan >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] _5 Dengan Berbagai Jenis Fungsi

Anda dapat menggunakan segala jenis panggilan Python dengan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Satu-satunya syarat adalah callable mengambil argumen dan mengembalikan nilai yang konkret dan berguna. Misalnya, Anda dapat menggunakan kelas, instance yang mengimplementasikan metode khusus yang disebut , metode instance, metode kelas, metode statis, dan fungsi

Ada beberapa fungsi bawaan yang dapat Anda gunakan dengan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Perhatikan contoh-contoh berikut

>>>

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_

Anda dapat menggunakan fungsi bawaan apa pun dengan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5, asalkan fungsi mengambil argumen dan mengembalikan nilai

Pola umum yang akan Anda lihat saat menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 adalah menggunakan fungsi
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6 sebagai argumen pertama.
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6 fungsi berguna saat Anda harus meneruskan fungsi berbasis ekspresi ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Misalnya, Anda dapat menerapkan kembali contoh nilai kuadrat menggunakan fungsi
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6 sebagai berikut

>>>_______ 79 ________

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(lambda num: num ** 2, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6 fungsi cukup berguna ketika menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Mereka dapat memainkan peran argumen pertama untuk
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Anda dapat menggunakan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6 fungsi bersama dengan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk memproses dan mengubah iterables Anda dengan cepat

Memproses Beberapa Iterable Input Dengan >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] 5

Jika Anda menyediakan beberapa iterables ke

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5, maka fungsi transformasi harus mengambil argumen sebanyak iterables yang Anda berikan. Setiap iterasi
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 akan meneruskan satu nilai dari setiap iterable sebagai argumen ke
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3. Iterasi berhenti di akhir iterable terpendek

Perhatikan contoh berikut yang menggunakan

>>>

>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
_

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_21 menerima dua argumen,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
23 dan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
24, dan mengembalikan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
23 pangkat
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
24. Pada iterasi pertama,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_23 akan menjadi
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
28,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
24 akan menjadi
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
30, dan hasilnya adalah
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
28. Pada iterasi kedua,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_23 akan menjadi
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
33,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
24 akan menjadi
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
35, dan hasilnya akan menjadi
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
36, dan seterusnya. Iterable terakhir hanya sepanjang iterable terpendek, yaitu
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
37 dalam hal ini

Teknik ini memungkinkan Anda menggabungkan dua atau lebih iterables dari nilai numerik menggunakan berbagai jenis operasi matematika. Berikut adalah beberapa contoh yang menggunakan fungsi

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_6 untuk melakukan operasi matematika yang berbeda pada beberapa input iterables

>>>

>>> list(map(lambda x, y: x - y, [2, 4, 6], [1, 3, 5]))
[1, 1, 1]

>>> list(map(lambda x, y, z: x + y + z, [2, 4], [1, 3], [7, 8]))
[10, 15]
_

Pada contoh pertama, Anda menggunakan operasi pengurangan untuk menggabungkan dua iterable yang masing-masing terdiri dari tiga item. Dalam contoh kedua, Anda menjumlahkan nilai dari tiga iterables

Mengubah Iterables dari String Dengan Python >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] 5

Saat Anda bekerja dengan iterables dari objek string, Anda mungkin tertarik untuk mengubah semua objek menggunakan semacam fungsi transformasi.

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 Python dapat menjadi sekutu Anda dalam situasi ini. Bagian berikut akan memandu Anda melalui beberapa contoh cara menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk mengubah iterable objek string

Menggunakan Metode >>> numbers = [1, 2, 3, 4, 5] >>> squared = [] >>> for num in numbers: .. squared.append(num ** 2) ... >>> squared [1, 4, 9, 16, 25] _42

Pendekatan yang cukup umum adalah menggunakan beberapa untuk mengubah string yang diberikan menjadi string baru. Jika Anda berurusan dengan iterables string dan perlu menerapkan transformasi yang sama untuk setiap string, maka Anda dapat menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 bersama dengan berbagai metode string

>>>_______ 48 ________

>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']

Ada beberapa transformasi yang dapat Anda lakukan pada setiap item di

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
45 menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dan metode string. Sebagian besar waktu, Anda akan menggunakan metode yang tidak memerlukan argumen tambahan, seperti , , , , dan

Anda juga dapat menggunakan beberapa metode yang menggunakan argumen tambahan dengan nilai default, seperti , yang menggunakan argumen opsional yang disebut

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
53 yang default untuk menghapus spasi

>>>_______ 63 ________

>>> with_spaces = ["processing ", "  strings", "with   ", " map   "]

>>> list(map(str.strip, with_spaces))
['processing', 'strings', 'with', 'map']

Saat Anda menggunakan

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
52 seperti ini, Anda mengandalkan nilai default
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
53. Dalam hal ini, Anda menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk menghapus semua spasi putih di item
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
57

Catatan. Jika Anda perlu memberikan argumen daripada mengandalkan nilai default, maka Anda dapat menggunakan fungsi

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
6

Berikut adalah contoh yang menggunakan

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_52 untuk menghapus titik daripada spasi default

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
0

Fungsi

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_6 memanggil
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
61 pada objek string
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
62 dan menghapus semua titik awal dan akhir

Teknik ini dapat berguna ketika, misalnya, Anda sedang memproses file teks di mana baris dapat memiliki spasi tambahan (atau karakter lain) dan Anda perlu menghapusnya. Jika demikian, maka Anda perlu mempertimbangkan bahwa menggunakan

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
52 tanpa
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
53 khusus akan menghapus karakter baris baru juga

Hilangkan iklan

Menghapus Tanda Baca

Saat memproses teks, terkadang Anda perlu menghapus tanda baca yang tersisa setelah Anda membagi teks menjadi kata-kata. Untuk mengatasi masalah ini, Anda dapat membuat fungsi kustom yang menghapus tanda baca dari satu kata menggunakan ekspresi reguler yang cocok dengan tanda baca paling umum

Inilah kemungkinan penerapan fungsi ini menggunakan , yang merupakan fungsi ekspresi reguler yang ada di modul di pustaka standar Python

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
1

Di dalam

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_67, Anda menggunakan pola ekspresi reguler yang cocok dengan tanda baca paling umum yang akan Anda temukan di teks apa pun yang ditulis dalam bahasa Inggris. Panggilan ke
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
68 menggantikan tanda baca yang cocok menggunakan string kosong (
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
69) dan mengembalikan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
70 yang dibersihkan

Dengan fungsi transformasi Anda, Anda dapat menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk menjalankan transformasi pada setiap kata dalam teks Anda. Begini cara kerjanya

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
2

Dalam teks ini, beberapa kata menyertakan tanda baca. Misalnya, Anda memiliki

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
72 bukannya
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
73,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
74 bukannya
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
75, dan seterusnya. Panggilan ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 berlaku
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
67 untuk setiap kata dan menghapus tanda baca apa pun. Jadi, pada
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_78 kedua, Anda telah membersihkan kata-kata

Perhatikan bahwa apostrof (

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_79) tidak ada dalam ekspresi reguler Anda karena Anda ingin mempertahankan kontraksi seperti
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
80 sebagaimana adanya

Menerapkan Algoritma Caesar Cipher

Julius Caesar, negarawan Romawi, biasa melindungi pesan yang dia kirim ke jenderalnya dengan mengenkripsinya menggunakan sandi. Cipher Caesar menggeser setiap huruf dengan sejumlah huruf. Misalnya, jika Anda menggeser huruf

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_81 menjadi tiga, maka Anda mendapatkan huruf
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
82, dan seterusnya

Jika pergeseran melampaui akhir alfabet, maka Anda hanya perlu memutar kembali ke awal alfabet. Dalam kasus rotasi sebanyak tiga,

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
23 akan menjadi
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
81. Beginilah tampilan alfabet setelah rotasi

  • Alfabet asli.
    >>> numbers = [1, 2, 3, 4, 5]
    >>> squared = []
    
    >>> for num in numbers:
    ..     squared.append(num ** 2)
    ...
    
    >>> squared
    [1, 4, 9, 16, 25]
    
    _85
  • Alfabet diputar tiga.
    >>> numbers = [1, 2, 3, 4, 5]
    >>> squared = []
    
    >>> for num in numbers:
    ..     squared.append(num ** 2)
    ...
    
    >>> squared
    [1, 4, 9, 16, 25]
    
    _86

Kode berikut mengimplementasikan

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_87, sebuah fungsi yang mengambil karakter dan memutarnya sebanyak tiga.
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_87 akan mengembalikan karakter yang diputar. Ini kodenya

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_3

Di dalam

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_87, pertama-tama Anda memeriksa apakah karakter tersebut ada dalam alfabet. Jika tidak, maka Anda mengembalikan karakter yang sama. Ini bertujuan untuk menjaga tanda baca dan karakter tidak biasa lainnya. Pada baris 8, Anda menghitung posisi karakter baru yang diputar dalam alfabet. Untuk melakukan ini, Anda menggunakan fungsi bawaan

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_90 mengambil karakter Unicode dan mengembalikan bilangan bulat yang mewakili titik kode Unicode dari karakter input. Misalnya,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_92 mengembalikan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
93, dan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
94 mengembalikan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
95

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
4

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_90 mengambil karakter sebagai argumen dan mengembalikan titik kode Unicode dari karakter input

Jika Anda menambahkan bilangan bulat ini ke nomor target

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
97, maka Anda akan mendapatkan posisi huruf baru yang diputar dalam alfabet. Dalam contoh ini,
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_97 adalah
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
99. Jadi, huruf
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
00 yang diputar tiga akan menjadi huruf pada posisi
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
01, yaitu huruf
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
02. Huruf
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
03 diputar tiga akan menjadi huruf pada posisi
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
04, yaitu huruf
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
05, dan seterusnya

Jika posisi baru huruf tidak melebihi posisi huruf terakhir (

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
06), maka Anda mengembalikan huruf pada posisi baru ini. Untuk melakukan itu, Anda menggunakan fungsi bawaan

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_07 adalah kebalikan dari
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
90. Dibutuhkan bilangan bulat yang mewakili titik kode Unicode dari karakter Unicode dan mengembalikan karakter pada posisi itu. Misalnya,
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
10 akan mengembalikan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
11, dan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
12 akan mengembalikan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
13

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
5

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
07 mengambil integer yang mewakili titik kode Unicode dari karakter dan mengembalikan karakter yang sesuai

Terakhir, jika posisi baru yang diputar berada di luar posisi huruf terakhir (

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
06), maka Anda perlu memutar kembali ke awal alfabet. Untuk melakukan itu, Anda perlu mengurangi panjang alfabet dari posisi yang diputar (
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
16) dan kemudian mengembalikan huruf pada posisi baru tersebut menggunakan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
07

Dengan

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_87 sebagai fungsi transformasi Anda, Anda dapat menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk mengenkripsi teks apapun menggunakan algoritma caesar cipher. Berikut adalah contoh yang menggunakan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_20 untuk menggabungkan string

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
6

String juga dapat diubah dengan Python. Jadi, panggilan ke

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 berlaku
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
87 untuk setiap karakter dalam string input asli. Dalam hal ini,
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
23 menjadi
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
24,
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
25 menjadi
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
03, dan seterusnya. Terakhir, panggilan ke
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_20 menyatukan setiap karakter yang diputar dalam pesan terenkripsi akhir

Hilangkan iklan

Mengubah Iterable Bilangan Dengan Python >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] 5

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 juga memiliki potensi besar dalam hal pemrosesan dan transformasi iterables dari nilai numerik. Anda dapat melakukan berbagai macam operasi matematika dan aritmatika, mengonversi nilai string menjadi bilangan titik-mengambang atau bilangan bulat, dan seterusnya

Di bagian berikut, Anda akan membahas beberapa contoh cara menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk memproses dan mengubah iterables angka

Menggunakan Operasi Matematika

Contoh umum menggunakan operasi matematika untuk mengubah iterable dari nilai numerik adalah dengan menggunakan the. Dalam contoh berikut, Anda mengkode fungsi transformasi yang mengambil angka dan mengembalikan angka kuadrat dan pangkat tiga

>>> ________41______7

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
32 mengambil angka
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
23 dan mengembalikan kuadrat dan kubusnya. Sejak Python menangani , setiap panggilan ke
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
32 mengembalikan tuple dengan dua nilai. Saat Anda memanggil
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dengan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
32 sebagai argumen, Anda mendapatkan daftar tupel yang berisi kuadrat dan kubus dari setiap angka dalam input iterable

Ada banyak transformasi terkait matematika yang dapat Anda lakukan dengan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Anda dapat menambahkan konstanta dan menguranginya dari setiap nilai. Anda juga dapat menggunakan beberapa fungsi dari modul
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_38 seperti
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
39, , , , , dan seterusnya. Berikut adalah contoh menggunakan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_40

>>> ________41______8

Dalam hal ini, Anda mengubah

>>> list(map(lambda x, y: x - y, [2, 4, 6], [1, 3, 5]))
[1, 1, 1]

>>> list(map(lambda x, y, z: x + y + z, [2, 4], [1, 3], [7, 8]))
[10, 15]
5 menjadi daftar baru yang berisi faktorial dari setiap angka dalam daftar asli

Anda dapat melakukan spektrum transformasi matematika yang luas pada iterable angka menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Seberapa jauh Anda masuk ke topik ini akan bergantung pada kebutuhan dan imajinasi Anda. Berikan beberapa pemikiran dan buat kode contoh Anda sendiri

Konversi Suhu

Kasus penggunaan lain untuk

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 adalah mengonversi antar satuan ukuran. Misalkan Anda memiliki daftar suhu yang diukur dalam derajat Celcius atau Fahrenheit dan Anda perlu mengubahnya menjadi suhu yang sesuai dalam derajat Fahrenheit atau Celcius

Anda dapat membuat kode dua fungsi transformasi untuk menyelesaikan tugas ini

>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
_9

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
47 melakukan pengukuran suhu dalam Celcius dan mengubahnya menjadi Fahrenheit. Demikian pula,
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_48 mengukur suhu dalam Fahrenheit dan mengubahnya menjadi Celcius

Fungsi-fungsi ini akan menjadi fungsi transformasi Anda. Anda dapat menggunakannya dengan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 untuk mengonversi iterable pengukuran suhu ke Fahrenheit dan Celcius masing-masing

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
0

Jika Anda memanggil

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 dengan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
47 dan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
52, Anda akan mendapatkan daftar pengukuran suhu dalam Fahrenheit. Jika Anda memanggil
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 dengan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
48 dan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
55, Anda akan mendapatkan daftar ukuran suhu dalam Celcius

Untuk memperluas contoh ini dan mencakup jenis konversi satuan lainnya, Anda hanya perlu mengkodekan fungsi transformasi yang sesuai

Hilangkan iklan

Mengubah String Menjadi Angka

Saat bekerja dengan data numerik, Anda mungkin akan menghadapi situasi di mana semua data Anda adalah nilai string. Untuk melakukan perhitungan lebih lanjut, Anda harus mengonversi nilai string menjadi nilai numerik.

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dapat membantu dengan situasi ini juga

Jika Anda yakin bahwa data Anda bersih dan tidak mengandung nilai yang salah, maka Anda dapat langsung menggunakan atau

>>> with_spaces = ["processing ", "  strings", "with   ", " map   "]

>>> list(map(str.strip, with_spaces))
['processing', 'strings', 'with', 'map']
6 sesuai dengan kebutuhan Anda. Berikut beberapa contohnya

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
1

Pada contoh pertama, Anda menggunakan

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_57 dengan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk mengubah semua nilai dari nilai string menjadi nilai. Dalam kasus kedua, Anda menggunakan
>>> with_spaces = ["processing ", "  strings", "with   ", " map   "]

>>> list(map(str.strip, with_spaces))
['processing', 'strings', 'with', 'map']
6 untuk mengonversi dari string ke an. Perhatikan bahwa jika salah satu nilai bukan angka yang valid, maka Anda akan mendapatkan a

Jika Anda tidak yakin data Anda bersih, Anda dapat menggunakan fungsi konversi yang lebih rumit seperti berikut ini

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
2

Di dalam

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_63, Anda menggunakan a yang menangkap
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
62 jika
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
57 gagal saat mengonversi
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
67. Jika tidak terjadi kesalahan, maka fungsi Anda mengembalikan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
67 dikonversi ke angka floating-point yang valid. Jika tidak, Anda mendapatkan , yang merupakan nilai
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
70 khusus yang dapat Anda gunakan untuk mewakili nilai yang bukan angka yang valid, seperti
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
71 pada contoh di atas

Anda dapat menyesuaikan

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
_63 sesuai dengan kebutuhan Anda. Misalnya, Anda dapat mengganti pernyataan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
73 dengan pernyataan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
74, dan seterusnya

Menggabungkan >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] _5 Dengan Alat Fungsional Lainnya

Sejauh ini, Anda telah membahas cara menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk menyelesaikan berbagai tugas yang melibatkan iterables. Namun, jika Anda menggunakan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 bersama dengan alat fungsional lainnya seperti dan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9, maka Anda dapat melakukan transformasi yang lebih kompleks pada iterables Anda. Itulah yang akan Anda bahas dalam dua bagian berikut

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] 5 dan >>> numbers = [-2, -1, 0, 1, 2] >>> abs_values = list(map(abs, numbers)) >>> abs_values [2, 1, 0, 1, 2] >>> list(map(float, numbers)) [-2.0, -1.0, 0.0, 1.0, 2.0] >>> words = ["Welcome", "to", "Real", "Python"] >>> list(map(len, words)) [7, 2, 4, 6] 8

Terkadang Anda perlu memproses input iterable dan mengembalikan iterable lain yang dihasilkan dari memfilter nilai yang tidak diinginkan di input iterable. Dalam hal ini,

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_8 Python dapat menjadi pilihan yang baik untuk Anda.
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
8 adalah fungsi bawaan yang menggunakan dua argumen posisi

  1. >>> first_it = [1, 2, 3]
    >>> second_it = [4, 5, 6, 7]
    
    >>> list(map(pow, first_it, second_it))
    [1, 32, 729]
    
    3 akan menjadi predikat atau fungsi bernilai Boolean, fungsi yang mengembalikan
    >>> def square(number):
    ..     return number ** 2
    ...
    
    >>> numbers = [1, 2, 3, 4, 5]
    
    >>> squared = map(square, numbers)
    
    >>> list(squared)
    [1, 4, 9, 16, 25]
    
    85 atau
    >>> def square(number):
    ..     return number ** 2
    ...
    
    >>> numbers = [1, 2, 3, 4, 5]
    
    >>> squared = map(square, numbers)
    
    >>> list(squared)
    [1, 4, 9, 16, 25]
    
    86 sesuai dengan data input
  2. >>> first_it = [1, 2, 3]
    >>> second_it = [4, 5, 6, 7]
    
    >>> list(map(pow, first_it, second_it))
    [1, 32, 729]
    
    4 akan menjadi iterable Python apa saja

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
8 menghasilkan item input
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
4 yang
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3 mengembalikan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
85. Jika Anda meneruskan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
92 ke
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3, maka
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
8 menggunakan fungsi identitas. Ini berarti bahwa
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_8 akan memeriksa nilai kebenaran dari setiap item di
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
4 dan memfilter semua item yang

Untuk mengilustrasikan bagaimana Anda dapat menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 bersama dengan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
8, katakanlah Anda perlu menghitung akar kuadrat dari semua nilai dalam daftar. Karena daftar Anda dapat berisi nilai negatif, Anda akan mendapatkan kesalahan karena akar kuadrat tidak ditentukan untuk angka negatif

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
3

Dengan bilangan negatif sebagai argumen,

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
99 memunculkan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
62. Untuk menghindari masalah ini, Anda dapat menggunakan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_8 untuk memfilter semua nilai negatif, lalu mencari akar kuadrat dari nilai positif yang tersisa. Lihat contoh berikut

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
4

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
02 adalah fungsi predikat yang mengambil angka sebagai argumen dan mengembalikan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
85 jika angkanya lebih besar dari atau sama dengan nol. Anda dapat meneruskan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
02 ke
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
8 untuk menghapus semua angka negatif dari
>>> list(map(lambda x, y: x - y, [2, 4, 6], [1, 3, 5]))
[1, 1, 1]

>>> list(map(lambda x, y, z: x + y + z, [2, 4], [1, 3], [7, 8]))
[10, 15]
5. Jadi, panggilan ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 hanya akan memproses angka positif dan
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
99 tidak akan memberi Anda
>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
62

Hilangkan iklan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] 5 dan >>> numbers = [-2, -1, 0, 1, 2] >>> abs_values = list(map(abs, numbers)) >>> abs_values [2, 1, 0, 1, 2] >>> list(map(float, numbers)) [-2.0, -1.0, 0.0, 1.0, 2.0] >>> words = ["Welcome", "to", "Real", "Python"] >>> list(map(len, words)) [7, 2, 4, 6] 9

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_9 Python adalah fungsi yang hidup dalam modul yang disebut
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
13 di pustaka standar Python.
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9 adalah alat fungsional inti lain di Python yang berguna saat Anda perlu menerapkan fungsi ke iterable dan menguranginya menjadi nilai kumulatif tunggal. Operasi semacam ini umumnya dikenal sebagai pengurangan atau pelipatan.
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9 mengambil dua argumen yang diperlukan

  1. >>> first_it = [1, 2, 3]
    >>> second_it = [4, 5, 6, 7]
    
    >>> list(map(pow, first_it, second_it))
    [1, 32, 729]
    
    3 dapat berupa panggilan Python apa pun yang menerima dua argumen dan mengembalikan nilai
  2. >>> first_it = [1, 2, 3]
    >>> second_it = [4, 5, 6, 7]
    
    >>> list(map(pow, first_it, second_it))
    [1, 32, 729]
    
    4 dapat berupa iterable Python apa saja

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9 akan menerapkan
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3 ke semua item di
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
4 dan secara kumulatif menghitung nilai akhir

Berikut adalah contoh yang menggabungkan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 dan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9 untuk menghitung ukuran total semua file yang ada di direktori home Anda secara kumulatif

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
5

Dalam contoh ini, Anda menelepon untuk mendapatkan jalur ke direktori home Anda. Kemudian Anda memanggil jalur itu untuk mendapatkan daftar dengan jalur semua file yang ada di sana

Panggilan ke

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 digunakan untuk mendapatkan ukuran setiap file. Akhirnya, Anda menggunakan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_9 dengan untuk mendapatkan jumlah kumulatif dari ukuran setiap file. Hasil akhirnya adalah ukuran total semua file di direktori home Anda dalam satuan byte

Catatan. Beberapa tahun lalu, Google mengembangkan dan mulai menggunakan model pemrograman yang mereka sebut MapReduce. Itu adalah gaya baru pemrosesan data yang dirancang untuk mengelola data besar menggunakan komputasi paralel dan terdistribusi pada sebuah cluster

Model ini terinspirasi dari kombinasi operasi pemetaan dan pengurangan yang biasa digunakan dalam pemrograman fungsional

Model MapReduce berdampak besar pada kemampuan Google untuk menangani data dalam jumlah besar dalam waktu yang wajar. Namun, pada tahun 2014 Google tidak lagi menggunakan MapReduce sebagai model pemrosesan utama mereka

Saat ini, Anda dapat menemukan beberapa implementasi alternatif MapReduce seperti Apache Hadoop, yang merupakan kumpulan utilitas perangkat lunak open source yang menggunakan model MapReduce.

Meskipun Anda dapat menggunakan

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
_9 untuk menyelesaikan masalah yang dibahas di bagian ini, Python menawarkan alat lain yang dapat menghasilkan solusi Pythonic yang lebih efisien dan efisien. Misalnya, Anda dapat menggunakan fungsi bawaan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
30 untuk menghitung ukuran total file di direktori home Anda

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
6

Contoh ini jauh lebih mudah dibaca dan efisien daripada contoh yang Anda lihat sebelumnya. Jika Anda ingin mempelajari lebih dalam tentang cara menggunakan

>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9 dan alat alternatif apa yang dapat Anda gunakan untuk mengganti
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9 dengan cara Pythonic, lihat pengurangan() Python. Dari Fungsional ke Gaya Pythonic

Memproses Iterable Berbasis Tuple Dengan >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] 33

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
34 Python membuat iterator yang menerapkan fungsi ke argumen yang diperoleh dari iterable tupel dan menghasilkan hasilnya. Ini berguna saat Anda memproses iterables yang sudah dikelompokkan dalam tupel

Perbedaan utama antara

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
33 adalah bahwa yang terakhir memanggil fungsi transformasinya menggunakan operator pembongkaran (
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
37) untuk membongkar setiap tupel argumen menjadi beberapa argumen posisi. Jadi, fungsi transformasi disebut sebagai
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_38 bukan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
39

Dikatakan bahwa fungsinya kira-kira setara dengan fungsi Python berikut

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
7

Putaran

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_6 dalam fungsi ini mengulang item dalam
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
4 dan menghasilkan item yang diubah sebagai hasilnya. Panggilan ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_38 menggunakan operator unpacking untuk membongkar tupel menjadi beberapa argumen posisi. Berikut adalah beberapa contoh bagaimana
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_33 bekerja

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
8

Dalam contoh pertama, Anda menggunakan untuk menghitung kekuatan dari nilai pertama yang dinaikkan ke nilai kedua di setiap tuple. Tuple akan berbentuk

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
46

Jika setiap tuple di iterable Anda memiliki dua item, maka

>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3 harus mengambil dua argumen juga. Jika tupel memiliki tiga item, maka
>>> first_it = [1, 2, 3]
>>> second_it = [4, 5, 6, 7]

>>> list(map(pow, first_it, second_it))
[1, 32, 729]
3 harus mengambil tiga argumen, dan seterusnya. Jika tidak, Anda akan mendapatkan a

Jika Anda menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 alih-alih
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
33, Anda akan mendapatkan hasil yang berbeda karena
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 mengambil satu item dari setiap tupel

>>>

>>> def square(number):
..     return number ** 2
...

>>> numbers = [1, 2, 3, 4, 5]

>>> squared = map(square, numbers)

>>> list(squared)
[1, 4, 9, 16, 25]
9

Perhatikan bahwa

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 mengambil dua tupel, bukan daftar tupel.
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 juga mengambil satu nilai dari setiap tupel di setiap iterasi. Untuk membuat
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 mengembalikan hasil yang sama dengan
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
33, Anda harus menukar nilai

>>>

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
0

Dalam hal ini, Anda memiliki dua tupel, bukan daftar tupel. Anda juga menukar

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_57 dan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
30. Sekarang tupel pertama memberikan basis dan tupel kedua memberikan eksponen

Hilangkan iklan

Pengkodean Dengan Gaya Pythonic. Mengganti >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums >>> list(int_nums) [4, 8, 6, 5, 3, 2, 8, 9, 2, 5] >>> str_nums ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] _5

Alat pemrograman fungsional seperti

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5,
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
8, dan
>>> numbers = [-2, -1, 0, 1, 2]

>>> abs_values = list(map(abs, numbers))
>>> abs_values
[2, 1, 0, 1, 2]

>>> list(map(float, numbers))
[-2.0, -1.0, 0.0, 1.0, 2.0]

>>> words = ["Welcome", "to", "Real", "Python"]

>>> list(map(len, words))
[7, 2, 4, 6]
9 telah ada sejak lama. Namun, buatlah daftar pemahaman dan telah menjadi pengganti alami bagi mereka hampir di setiap kasus penggunaan

Misalnya, fungsionalitas yang disediakan oleh

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 hampir selalu lebih baik diekspresikan menggunakan pemahaman daftar atau ekspresi generator. Dalam dua bagian berikut, Anda akan mempelajari cara mengganti panggilan ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dengan pemahaman daftar atau ekspresi generator untuk membuat kode Anda lebih mudah dibaca dan Pythonic

Menggunakan Pemahaman Daftar

Ada pola umum yang dapat Anda gunakan untuk mengganti panggilan ke

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dengan pemahaman daftar. Begini caranya

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
1

Perhatikan bahwa pemahaman daftar hampir selalu terbaca lebih jelas daripada panggilan ke

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Karena pemahaman daftar cukup populer di kalangan pengembang Python, umum ditemukan di mana-mana. Jadi, mengganti panggilan ke
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 dengan pemahaman daftar akan membuat kode Anda terlihat lebih akrab bagi pengembang Python lainnya

Berikut adalah contoh cara mengganti

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 dengan pemahaman daftar untuk membuat daftar bilangan kuadrat

>>>

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
2

Jika Anda membandingkan kedua solusi tersebut, maka Anda dapat mengatakan bahwa solusi yang menggunakan pemahaman daftar lebih mudah dibaca karena terbaca hampir seperti bahasa Inggris biasa. Selain itu, pemahaman daftar menghindari kebutuhan untuk secara eksplisit memanggil

>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']
4 pada
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 untuk membuat daftar akhir

Menggunakan Ekspresi Generator

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 mengembalikan objek peta, yang merupakan iterator yang menghasilkan item sesuai permintaan. Jadi, pengganti alami untuk
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 adalah karena ekspresi generator mengembalikan objek generator, yang juga merupakan iterator yang menghasilkan item sesuai permintaan

Iterator Python dikenal cukup efisien dalam hal konsumsi memori. Inilah alasan mengapa

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 sekarang mengembalikan iterator, bukan
>>> numbers = [1, 2, 3, 4, 5]
>>> squared = []

>>> for num in numbers:
..     squared.append(num ** 2)
...

>>> squared
[1, 4, 9, 16, 25]
78

Ada sedikit perbedaan sintaksis antara pemahaman daftar dan ekspresi generator. Yang pertama menggunakan sepasang tanda kurung siku (

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
75) untuk membatasi ekspresi. Yang kedua menggunakan sepasang tanda kurung (
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
76). Jadi, untuk mengubah pemahaman daftar menjadi ekspresi generator, Anda hanya perlu mengganti tanda kurung siku dengan tanda kurung

Anda dapat menggunakan ekspresi generator untuk menulis kode yang terbaca lebih jelas daripada kode yang menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5. Lihat contoh berikut

>>>

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
3

Kode ini memiliki perbedaan utama dari kode di bagian sebelumnya. Anda mengubah tanda kurung siku menjadi sepasang tanda kurung untuk mengubah pemahaman daftar menjadi ekspresi generator

Ekspresi generator biasanya digunakan sebagai argumen dalam pemanggilan fungsi. Dalam hal ini, Anda tidak perlu menggunakan tanda kurung untuk membuat ekspresi generator karena tanda kurung yang Anda gunakan untuk memanggil fungsi juga menyediakan sintaks untuk membuat generator. Dengan ide ini, Anda bisa mendapatkan hasil yang sama seperti contoh di atas dengan memanggil

>>> string_it = ["processing", "strings", "with", "map"]
>>> list(map(str.capitalize, string_it))
['Processing', 'Strings', 'With', 'Map']

>>> list(map(str.upper, string_it))
['PROCESSING', 'STRINGS', 'WITH', 'MAP']

>>> list(map(str.lower, string_it))
['processing', 'strings', 'with', 'map']
4 seperti ini

>>>

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
4

Jika Anda menggunakan ekspresi generator sebagai argumen dalam pemanggilan fungsi, maka Anda tidak memerlukan pasangan tanda kurung tambahan. Tanda kurung yang Anda gunakan untuk memanggil fungsi menyediakan sintaks untuk membuat generator

Ekspresi generator seefisien

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 dalam hal konsumsi memori karena keduanya mengembalikan iterator yang menghasilkan item sesuai permintaan. Namun, ekspresi generator hampir selalu meningkatkan keterbacaan kode Anda. Mereka juga membuat kode Anda lebih Pythonic di mata pengembang Python lainnya

Hilangkan iklan

Kesimpulan

Python memungkinkan Anda untuk melakukan operasi pemetaan pada iterables. Operasi pemetaan terdiri dari penerapan fungsi transformasi ke item dalam iterable untuk menghasilkan iterable yang diubah. Secara umum,

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
_5 akan memungkinkan Anda untuk memproses dan mengubah iterables tanpa menggunakan loop eksplisit

Dalam tutorial ini, Anda telah mempelajari cara kerja

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dan cara menggunakannya untuk memproses iterables. Anda juga belajar tentang beberapa alat Pythonic yang dapat Anda gunakan untuk mengganti
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dalam kode Anda

Anda sekarang tahu caranya

  • Bekerja dengan
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    5 Python
  • Gunakan
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    _5 untuk memproses dan mengubah iterables tanpa menggunakan loop eksplisit
  • Gabungkan
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    _5 dengan fungsi seperti
    >>> numbers = [-2, -1, 0, 1, 2]
    
    >>> abs_values = list(map(abs, numbers))
    >>> abs_values
    [2, 1, 0, 1, 2]
    
    >>> list(map(float, numbers))
    [-2.0, -1.0, 0.0, 1.0, 2.0]
    
    >>> words = ["Welcome", "to", "Real", "Python"]
    
    >>> list(map(len, words))
    [7, 2, 4, 6]
    
    8 dan
    >>> numbers = [-2, -1, 0, 1, 2]
    
    >>> abs_values = list(map(abs, numbers))
    >>> abs_values
    [2, 1, 0, 1, 2]
    
    >>> list(map(float, numbers))
    [-2.0, -1.0, 0.0, 1.0, 2.0]
    
    >>> words = ["Welcome", "to", "Real", "Python"]
    
    >>> list(map(len, words))
    [7, 2, 4, 6]
    
    9 untuk melakukan transformasi kompleks
  • Ganti
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    
    
    >>> list(int_nums)
    [4, 8, 6, 5, 3, 2, 8, 9, 2, 5]
    
    >>> str_nums
    ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    _5 dengan alat seperti pemahaman daftar dan ekspresi generator

Dengan pengetahuan baru ini, Anda akan dapat menggunakan

>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dalam kode Anda dan mendekati kode Anda dengan gaya pemrograman fungsional. Anda juga dapat beralih ke gaya yang lebih Pythonic dan modern dengan mengganti
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums


>>> list(int_nums)
[4, 8, 6, 5, 3, 2, 8, 9, 2, 5]

>>> str_nums
["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
5 dengan pemahaman daftar atau

Tandai sebagai Selesai

Tonton Sekarang Tutorial ini memiliki kursus video terkait yang dibuat oleh tim Real Python. Tonton bersama dengan tutorial tertulis untuk memperdalam pemahaman Anda. Peta Python () Fungsi. Mengubah Iterables

🐍 Trik Python 💌

Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python

Bagaimana Anda membuat daftar yang dipetakan dengan python?

Kirimi Saya Trik Python »

Tentang Leodanis Pozo Ramos

Bagaimana Anda membuat daftar yang dipetakan dengan python?
Bagaimana Anda membuat daftar yang dipetakan dengan python?

Leodanis adalah seorang insinyur industri yang menyukai Python dan pengembangan perangkat lunak. Dia adalah pengembang Python otodidak dengan pengalaman lebih dari 6 tahun. Dia adalah seorang penulis teknis yang rajin dengan semakin banyak artikel yang diterbitkan di Real Python dan situs lainnya

» Lebih lanjut tentang Leodanis


Setiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah

Bagaimana Anda membuat daftar yang dipetakan dengan python?

Aldren

Bagaimana Anda membuat daftar yang dipetakan dengan python?

Bryan

Bagaimana Anda membuat daftar yang dipetakan dengan python?

Geir Arne

Bagaimana Anda membuat daftar yang dipetakan dengan python?

Joanna

Bagaimana Anda membuat daftar yang dipetakan dengan python?

Yakub

Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista

Tingkatkan Keterampilan Python Anda »

Guru Keterampilan Python Dunia Nyata
Dengan Akses Tak Terbatas ke Real Python

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista

Tingkatkan Keterampilan Python Anda »

Bagaimana menurutmu?

Nilai artikel ini

Tweet Bagikan Bagikan Email

Apa takeaway # 1 Anda atau hal favorit yang Anda pelajari?

Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami

Bisakah saya memetakan daftar dengan Python?

Jawabannya adalah, kamu bisa . Tetapi menggunakan Fungsi Peta Python menghemat memori Anda (yang berarti kode Anda berjalan lebih cepat) dan membutuhkan lebih sedikit kode. Mari kita telusuri sebuah contoh sehingga Anda dapat memahami apa yang saya maksud.

Bagaimana cara membuat peta dari daftar dengan Python?

Python map() fungsi . ) map() function returns a map object(which is an iterator) of the results after applying the given function to each item of a given iterable (list, tuple etc.) Parameter. seru. Ini adalah fungsi di mana peta melewati setiap elemen dari iterable yang diberikan. iter. Ini adalah iterable yang harus dipetakan.

Apa yang dipetakan dengan Python?

Peta dengan Python adalah fungsi yang berfungsi sebagai iterator untuk mengembalikan hasil setelah menerapkan fungsi ke setiap item dari iterable (tuple, daftar, dll. ) . Ini digunakan ketika Anda ingin menerapkan fungsi transformasi tunggal ke semua elemen yang dapat diubah. Iterable dan fungsi diteruskan sebagai argumen ke peta dengan Python.

Bagaimana Anda membuat struktur peta dengan Python?

Membuat ChainMap . Kemudian kami mencetak kunci dan nilai dari hasil kombinasi kamus. Jika ada kunci duplikat, maka hanya nilai dari kunci pertama yang dipertahankan. create two dictionaries and club them using the ChainMap method from the collections library. Then we print the keys and values of the result of the combination of the dictionaries. If there are duplicate keys, then only the value from the first key is preserved.