Dapatkah saya menggunakan peta pada daftar dengan python?

Pemetaan dalam pemrograman terdiri dari penerapan fungsi transformasi ke iterable untuk membuat iterable baru. Kemudian, elemen di iterable baru dibangun dengan memanggil fungsi transformasi pada elemen di iterable asli

Show

Pemetaan adalah bagian dari pemrograman fungsional di mana perhitungan dilakukan dengan menggabungkan fungsi yang mengambil argumen dan mengembalikan nilai (atau nilai) konkret sebagai hasilnya. Dalam contoh ini, kita akan melihat fungsi map() dengan Python dan cara memetakan daftar elemen

Daftar peta python

Untuk memetakan elemen daftar dengan Python, gunakan fungsi map(). Fungsi map() menerapkan fungsi ke setiap elemen daftar, menampilkan objek peta yang dapat diulang, dan memanggil metode next() untuk melintasi daftar

Python map() adalah metode bawaan untuk menerapkan fungsi ke semua elemen detail iterable dan mengembalikan objek peta. Iterable mencakup daftar, tupel, set, dan kamus

Nilai yang dikembalikan dari fungsi map() adalah objek peta dan jika kita ingin membuat daftar darinya, maka gunakan fungsi list();

data = [19, 21, 46, 29, 11]


def square_of_numbers(num):
    return num * num


mappedList = map(square_of_numbers, data)

print(next(mappedList))
print(next(mappedList))
print(next(mappedList))

Keluaran

361
441
2116
_

Kita dapat melihat bahwa kita mendefinisikan fungsi yang disebut square_of_numbers(), yang mengembalikan kuadrat angka. Kami meneruskan fungsi ini ke fungsi map() , yang mengembalikan objek peta

Untuk mengakses setiap elemen objek peta, gunakan metode next(). Misalnya, kita dapat membuat daftar objek peta menggunakan metode list()

data = [19, 21, 46, 29, 11]


def square_of_numbers(num):
    return num * num


mappedList = map(square_of_numbers, data)

print(list(mappedList))

Keluaran

[361, 441, 2116, 841, 121]

Daftar peta python dengan fungsi lambda

Untuk menggunakan fungsi map() dan lambda dengan daftar Python, berikan fungsi lambda di fungsi map() , dan itu akan mengembalikan objek peta. Fungsi anonim atau lambda Python adalah fungsi yang didefinisikan tanpa nama

data = [19, 21, 46, 29, 11]

mappedList = map(lambda num: num * num, data)

print(list(mappedList))
_

Keluaran

[361, 441, 2116, 841, 121]

Kami tidak perlu mendefinisikan fungsi dalam contoh ini karena lambda akan melakukan tugasnya

Listify daftar string

Kita dapat membuat daftar daftar string menggunakan metode list() dan map()

data = ['grogu', 'dinjarin', 'ahsokatano']

mappedList = list(map(list, data))

print(list(mappedList))
_

Keluaran

[['g', 'r', 'o', 'g', 'u'], ['d', 'i', 'n', 'd', ' ', 'j', 'a', 'r', 'i', 'n'], 
['a', 'h', 's', 'o', 'k', 'a', ' ', 't', 'a', 'n', 'o']]

Kesimpulan

Fungsi map() dalam Python mengembalikan objek peta tempat Anda dapat mengonversi objek itu menjadi daftar, tupel, kamus, atau set. Misalnya, Anda dapat menggunakan lambda atau fungsi reguler di fungsi map()

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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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

  • Bagaimana
    >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]
    
    >>> int_nums = map(int, str_nums)
    >>> int_nums
    <map object at 0x7fb2c7e34c70>
    
    >>> 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 bekerja
  • 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 diulang 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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. Terakhir, 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
<map object at 0x7fb2c7e34c70>

>>> 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

>>>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 pada
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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 Macam 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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

>>>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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

>>>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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

>>>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 kosong 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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, di
>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 menggabungkan 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 iterable 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

>>>

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

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

>>> squared
[1, 4, 9, 16, 25]
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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 ________52______40

>>> ________46______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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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, maka Anda mendapatkan daftar ukuran suhu di Fahrenheit. Jika Anda memanggil
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 dapat membantu dalam situasi ini

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
<map object at 0x7fb2c7e34c70>

>>> 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 ________52______74, dan seterusnya

Menggabungkan >>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"] >>> int_nums = map(int, str_nums) >>> int_nums <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 bilangan 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 alih-alih
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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

>>> ________52______8

Dalam contoh pertama, Anda menggunakan untuk menghitung kekuatan dari nilai pertama yang dinaikkan ke nilai kedua di setiap tupel. Tuple akan berbentuk

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

>>> int_nums = map(int, str_nums)
>>> int_nums
<map object at 0x7fb2c7e34c70>

>>> 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 juga harus mengambil dua argumen. 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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, maka 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
<map object at 0x7fb2c7e34c70>

>>> 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

>>> ________52______9

Perhatikan bahwa

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

>>> int_nums = map(int, str_nums)
>>> int_nums
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 seperti
>>> str_nums = ["4", "8", "6", "5", "3", "2", "8", "9", "2", "5"]

>>> int_nums = map(int, str_nums)
>>> int_nums
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 <map object at 0x7fb2c7e34c70> >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 diekspresikan dengan lebih baik 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 final

Menggunakan Ekspresi Generator

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

>>> int_nums = map(int, str_nums)
>>> int_nums
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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 umumnya 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
    <map object at 0x7fb2c7e34c70>
    
    >>> 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
<map object at 0x7fb2c7e34c70>

>>> 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
<map object at 0x7fb2c7e34c70>

>>> 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

Dapatkah saya menggunakan peta pada daftar dengan python?

Kirimi Saya Trik Python »

Tentang Leodanis Pozo Ramos

Dapatkah saya menggunakan peta pada daftar dengan python?
Dapatkah saya menggunakan peta pada daftar 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

Dapatkah saya menggunakan peta pada daftar dengan python?

Aldren

Dapatkah saya menggunakan peta pada daftar dengan python?

Bryan

Dapatkah saya menggunakan peta pada daftar dengan python?

Geir Arne

Dapatkah saya menggunakan peta pada daftar dengan python?

Joanna

Dapatkah saya menggunakan peta pada daftar 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 menurut anda?

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 Anda memetakan daftar 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 Anda menggunakan peta daftar?

Pemrograman C dari awal- Pemrograman Master C .
Buat objek Peta
Menggunakan metode put() masukkan elemen ke dalamnya sebagai kunci, pasangan nilai
Buat ArrayList bertipe integer untuk menyimpan kunci peta. .
Buat ArrayList bertipe String untuk menyimpan nilai peta. .
Cetak isi kedua daftar

Bagaimana Anda memetakan nilai ke daftar dengan Python?

Python fungsi map() . ) Parameter. seru. Ini adalah fungsi di mana peta melewati setiap elemen dari iterable yang diberikan. iter. Ini adalah iterable yang harus dipetakan.

Apakah peta selalu mengembalikan daftar?

map() selalu mengembalikan daftar . Lihat keluarga modifikasi() untuk versi yang mengembalikan objek bertipe sama dengan input.