Cara Menggunakan Pemahaman Senarai di Python

Cara Menggunakan Pemahaman Senarai di Python

Penggunaan pemahaman senarai tepat pada masanya di Python dapat memudahkan operasi senarai berulang. Selain menjadi satu baris, ia lebih mudah dibaca dan dilaksanakan dengan lebih berkesan.





Walau bagaimanapun, anda mungkin akan berjaya jika anda tidak tahu menggunakannya. Malah boleh menjadi lebih mengecewakan jika anda tidak tahu di mana menerapkannya dalam kod anda. Di sini, kami akan menunjukkan kepada anda cara menggunakan pemahaman senarai di Python dengan beberapa contoh kehidupan sebenar.





Apakah Pemahaman Senarai di Python dan Bagaimana Ia Berfungsi?

Membuat senarai item dengan Python adalah mudah. Walau bagaimanapun, tugas itu boleh menjadi agak membosankan apabila anda perlu membuat senarai nilai atau item dari operasi matematik atau rentetan. Ketika itulah penggunaan senarai dapat berguna.





Kelebihan menggunakan pemahaman senarai ialah anda dapat melakukan beberapa operasi dalam satu senarai.

filem percuma tiada muat turun tidak mendaftar

Sebaliknya, ia membuat item baru dan menambahkannya ke senarai kosong yang diisytiharkan secara automatik. Jadi daripada membuat senarai kosong secara manual dan melampirkannya dengan a untuk gelung, pemahaman senarai Python membolehkan anda melakukan ini secara automatik tanpa anda peduli tentang bagaimana senarai baru itu dilalui.



Istilah 'daftar pemahaman' berasal dari fakta bahawa semua operasi berada dalam senarai Python yang diberikan kepada pemboleh ubah bernama. Seperti yang kami nyatakan sebelumnya, ini membolehkan anda melakukan operasi tertentu dalam satu baris kod. Ia kemudian menambahkan output ke senarai baru.

Pada akhirnya, anda juga dapat menggunakan output pemahaman senarai untuk tujuan lain. Ini kerana ia menyusun ungkapan dalam pemboleh ubah yang berasingan. Oleh itu, anda boleh merujuknya kemudian.





Contohnya, anda mungkin mengikis laman web dengan BeautifulSoup . Andaikan anda berhasrat untuk mendapatkan nama semua item dan harganya dari laman web.

Anda kemudian memutuskan untuk meletakkan data yang dikikis dalam fail CSV atau Excel. Amalan yang ideal adalah mengikis nama semua barang dan harganya dan meletakkan keduanya dalam lajur yang berasingan. Walau bagaimanapun, menggunakan pemahaman senarai, dalam hal ini, memastikan bahawa anda mempunyai data yang dikurangkan dalam pemboleh ubah khusus. Anda kemudian boleh menukar pemboleh ubah tersebut menjadi Python DataFrame kemudian.





Lihat contoh di bawah:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

Sebaik sahaja anda mendapat pemboleh ubah yang dilingkari, anda kemudian boleh memasukkannya ke lajur berasingan dalam DataFrame menggunakan Panda Python's.

Cara Membuat dan Menggunakan Pemahaman Daftar di Python

The untuk gelung adalah iterator penting dalam pemahaman senarai. Secara umum, pemahaman senarai dalam Python mengambil format ini:

ComprehensionVariable = [expression for items in list]

Percetakan Pemahaman Berubah mengeluarkan hasil kod di atas sebagai senarai.

Namun, berhati-hati untuk tidak membingungkan pemahaman daftar dengan terbuka untuk gelung.

Contohnya, mari gunakan buka untuk gelung untuk mendapatkan senarai semua gandaan tiga antara 1 dan 30:

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

Untuk membandingkan keduanya, mari lakukan perkara yang sama menggunakan pemahaman senarai:

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

Anda juga boleh menggunakan pemahaman senarai dengan pernyataan bersyarat. Contoh kod di bawah ini mencetak semua nombor ganjil antara 1 dan 10:

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

Sekarang, mari kita tulis semula kod di atas menggunakan open untuk gelung:

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

Berkaitan: Cara Menambah Senarai di Python

Pemahaman senarai juga menerima bersarang jika pernyataan:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

Ia juga memerlukan sarang untuk gelung:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

Anda juga boleh bersarang biasa untuk gelung dalam pemahaman senarai:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

Anda juga boleh memanipulasi rentetan dengan pemahaman senarai Python. Mari lihat pemahaman penghitung kata di bawah:

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

Pemahaman senarai juga dapat menerima fungsi yang melakukan operasi tertentu. Mari masukkan fungsi pengganda yang mendapat nombor genap dalam pemahaman senarai untuk melihat cara kerjanya:

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

Anda masih boleh menulis kod di atas dalam satu fungsi tanpa menggunakan pemahaman. Tetapi pemahaman senarai berguna apabila anda perlu melakukan beberapa lelaran dan meletakkan masing-masing dalam pemboleh ubah yang berasingan.

Sebagai contoh, anda boleh melakukan operasi lain pada n dan mempunyai pemboleh ubah khusus untuknya. Mari ubah pemahaman di atas untuk menghasilkan nombor genap dari yang ganjil:

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

Kamus dan Set Pemahaman

Sebagai tambahan kepada pemahaman senarai, Python juga menawarkan kamus dan fungsi pemahaman yang lengkap.

Lihat contoh pemahaman kamus di bawah untuk melihat cara kerjanya:

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

Kod di atas berulang melalui senarai nombor antara 1 dan 9 dan menjadikannya kunci. Ia kemudian memberitahu Python untuk mengalikan setiap kunci dengan dua. Akhirnya, ia membentangkan hasil operasi itu sebagai nilai yang sesuai untuk setiap kunci dalam susunan yang dihasilkan.

Berkaitan: Bagaimana Susunan dan Senarai Bekerja di Python

Pemahaman yang ditetapkan agak serupa dengan pemahaman senarai. Berikut adalah contoh pemahaman set:

Permainan android 2 pemain memisahkan telefon
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

Namun, tidak seperti pemahaman senarai, pemahaman set menghilangkan pendua:

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

Anda boleh mencuba kod di atas menggunakan pemahaman senarai untuk melihat perbezaannya.

Bolehkah Anda Menggunakan Pemahaman Senarai Setiap Kali?

Kami telah melihat pelbagai contoh pemahaman senarai dan di mana anda boleh menggunakannya. Namun, seperti kaedah Python yang lain, kes penggunaan pemahaman senarai bergantung pada masalah khusus yang ingin anda selesaikan. Oleh itu anda hanya boleh menggunakannya sekiranya sesuai untuk masalah tertentu yang ingin anda selesaikan.

Salah satu tujuan pemahaman senarai adalah untuk mempermudah kod anda dan menjadikannya lebih mudah dibaca. Oleh itu, pastikan anda mengelakkan kerumitan ketika menghadapinya. Sebagai contoh, pemahaman Python yang panjang boleh menjadi kompleks untuk dibaca. Itu mengalahkan tujuannya.

Berkongsi Berkongsi Tweet E-mel Cara Menggunakan Pemahaman Senarai Python (Dan Bila Tidak Menggunakannya)

Inilah semua yang perlu anda ketahui mengenai penggunaan ciri Python yang luar biasa ini yang akan meningkatkan produktiviti dan kebolehbacaan kod anda semalaman.

Baca Seterusnya
Topik-topik yang berkaitan
  • Pengaturcaraan
  • Python
Mengenai Pengarang Idisou Omisola(94 Artikel Diterbitkan)

Idowu meminati apa sahaja teknologi pintar dan produktiviti. Pada masa lapang, dia bermain-main dengan pengekodan dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutin sekali-sekala. Kesungguhannya untuk menunjukkan kepada orang-orang tentang teknologi moden mendorongnya untuk menulis lebih banyak lagi.

Lagi Dari Idowu Omisola

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan