Dalam Python, senarai ialah salah satu kaedah yang digunakan secara meluas untuk menyimpan nilai angka atau rentetan. Ia boleh berubah dan ditakrifkan dengan menggunakan kurungan segi empat sama []. Senarai jenis ini boleh mengandungi elemen yang berbeza, yang boleh mempunyai jenis data yang berbeza. Kadangkala kita mungkin perlu memampatkan senarai yang berbeza dalam Python untuk tujuan prapemprosesan data.
Dalam artikel ini, kami akan membincangkan operasi mampatan pada senarai dan cara memampatkan senarai saiz yang berbeza dalam Python menggunakan kaedah dan teknik yang berbeza. Artikel ini akan membantu seseorang memahami operasi mampatan senarai dan membantu seseorang melakukan operasi yang sama jika perlu.
Sekarang mari kita mula membincangkan senarai dan operasi pemampatannya.
Seperti yang kita sedia maklum, senarai ialah cara biasa untuk menyimpan elemen, yang boleh mengandungi nilai angka atau rentetan. Ia adalah jenis boleh ubah yang biasa digunakan apabila bekerja dengan set data apabila menggunakan Python.
Operasi mampatan senarai bermakna kami sebenarnya memampatkan dua senarai berbeza, atau lebih mudah, kami sedang menggandingkan nilai dua senarai berbeza.
Untuk menjelaskan idea di sebaliknya, mari kita ambil contoh. Katakan kami mempunyai dua senarai:
L1 = [1,2,3]
L2 = [‘satu’, ‘dua’, ‘tiga’]
Seperti yang dapat kita lihat di atas, kita mempunyai dua senarai berbeza dan sebaik sahaja kita melakukan operasi mampatan padanya, outputnya ialah:
Senarai_Zip = [(1, ‘satu’), (2, ‘dua’), (3, ‘tiga’)]
Sekarang mari kita bincangkan kes penggunaan senarai mampat dalam Python.
Memampatkan dua senarai berbeza dengan saiz yang sama atau saiz yang berbeza boleh membantu dalam banyak situasi. Jom bincang:
Perwakilan Kamus: Kendalian mampatan pada dua senarai berbeza boleh membantu kami membuat atau mewakili senarai sebagai kamus. Kita boleh melakukan perkara yang sama dengan mendapatkan senarai yang mengandungi kunci dan senarai lain yang mengandungi nilai kamus.
Pemprosesan data: Dalam sesetengah kes, untuk meneruskan melaksanakan tugas, pemprosesan data diperlukan dan senarai biasa mungkin diperlukan dan bukannya begitu banyak senarai yang berbeza. Dalam kes ini, operasi mampatan boleh sangat membantu.
Lelaran Data: Operasi mampatan juga boleh digunakan apabila anda ingin melelakan elemen senarai dan ingin melakukan beberapa operasi padanya.
Terdapat banyak cara untuk memampatkan senarai yang berbeza, mari bincangkan beberapa daripadanya.
Menggunakan untuk gelung dengan penghitungan ialah salah satu cara paling mudah untuk memampatkan dua senarai saiz yang berbeza.
# Using For Loop with Enumerate #1. Define two lists 2. Run a for loop with enumerate 3. Zip the lists # define the two lists list1 = [1,2,3,4,5,6] list2 = [1, 5, 6] # print the original lists print ("The input list 1 is : " + str(list1)) print ("The input list 2 is : " + str(list2)) # for i, j run a for loop with enumerate # append the values with j res = [] for i, j in enumerate(list1): res.append((j, list2[i % len(list2)])) # print the zipped list print ("The Zip List from List 1 and 2 is : " + str(res))
Seperti yang kita lihat dalam kod di atas, kami memasukkan dua senarai berbeza, Senarai 1 dan Senarai 2, yang mempunyai saiz yang berbeza.
Mula-mula kami mencetak senarai asal dan kemudian menjalankan gelung for menggunakan fungsi penghitungan yang akan menambahkan elemen senarai dan memampatkan kedua-dua senarai.
Keluaran kod berikut ialah:
The input list 1 is : [1, 2, 3, 4, 5, 6] The input list 2 is : [1, 5, 6] The Zip List from List 1 and 2 is : [(1, 1), (2, 5), (3, 6), (4, 1), (5, 5), (6, 6)]
Menggunakan kata kunci Zip() juga boleh membantu kami memampatkan dua senarai saiz yang berbeza. Di sini kita boleh menggunakan kata kunci tertentu dalam gelung.
# using Zip() # define the list num_list = [1, 2, 3, 4] # numerical list str_list = ['one', 'two', 'three', 'four', 'none', 'none'] #string list # zip the lists with using zip() zipped_list = [(num, s) for num, s in zip(num_list, str_list)] print(zipped_list)
Seperti yang dapat kita lihat dalam kod di atas, kita mempunyai dua senarai berbeza dengan saiz yang berbeza dan kami menggunakan zip() untuk menambahkan elemen senarai dan memampatkan senarai.
Keluaran kod berikut ialah:
[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
Ini adalah salah satu cara klasik untuk memampatkan dua senarai saiz yang berbeza. Di sini kami akan menggunakan Itertools untuk memampatkan senarai.
# using the itertools # itertools + cycle # import the cycle from itertools from itertools import cycle # define two different lists list1 = [1,2,3,4,5,6,7] list2 = [10, 50, 21] # print the list1 and list2 print ("The input list 1 is : " + str(list1)) print ("The input list 2 is : " + str(list2)) # now use the cycle imported from itertools res = list(zip(list1, cycle(list2)) if len(list1) > len(list2) #check for conditions else zip(cycle(list1), list2)) # printing the zipped list print ("The Zip List from List 1 and 2 is: " + str(res))
Seperti yang kita dapat lihat dalam kod di atas, perpustakaan itertools telah pun dipasang dan gelung diimport daripadanya.
Kemudian kami menentukan dua senarai saiz yang berbeza dan mencetak senarai yang sama. Seterusnya, gelung digunakan untuk memampatkan senarai dengan menghantar kedua-dua senarai ke dalam senarai yang sama.
Keluaran kod ini ialah:
The input list 1 is : [1, 2, 3, 4, 5, 6, 7] The input list 2 is : [10, 50, 21] The Zip List from List 1 and 2 is : [(1, 10), (2, 50), (3, 21), (4, 10), (5, 50), (6, 21), (7, 10)]
Dalam artikel ini, kami membincangkan senarai, apakah operasi mampatan untuk senarai, apakah aplikasi yang sama dan cara memampatkan dua senarai saiz berbeza dalam Python.
Kami telah membincangkan sejumlah 3 kaedah yang mana anda boleh memampatkan senarai dalam Python dan sesiapa sahaja boleh memampatkan senarai mengikut penyataan dan keperluan masalah. Artikel ini akan membantu seseorang memahami operasi mampatan senarai dan membantu seseorang melakukan perkara yang sama apabila diperlukan.
Atas ialah kandungan terperinci Mampatkan senarai saiz yang berbeza dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!