Amalan Terbaik untuk Gelung for dalam Python
Artikel ini menerangkan amalan terbaik untuk gelung for dalam Python.
YouTube Video
Amalan Terbaik untuk Gelung Python for
Dalam Python, gelung for adalah alat yang berkuasa untuk mengulang koleksi pelbagai elemen. Di sini, kami mendalami penggunaan standard gelung for Python dan meneroka amalan terbaik. Kami akan menyertakan contoh kod praktikal, isu lazim, dan teknik untuk mengekalkan kecekapan kod.
Gelung Asas for
Gelung for asas dalam Python adalah agak mudah. Sebagai contoh, anda boleh mengeluarkan elemen senarai satu persatu seperti di bawah:.
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)- Kod di atas mengeluarkan elemen "apple," "banana," dan "cherry" mengikut susunan.
Sintaks Pengulangan
Ini adalah contoh kod yang agak mudah, tetapi gelung for boleh melaksanakan senario yang lebih kompleks. Sebagai contoh, anda boleh menggunakan enumerate atau zip untuk mengulang pelbagai senarai secara serentak.
Menggunakan enumerate
1fruits = ["apple", "banana", "cherry"]
2for index, fruit in enumerate(fruits):
3 print(f"{index}: {fruit}")- Dengan menggunakan
enumerate, anda boleh mendapatkan kedua-dua indeks dan elemen pada masa yang sama.
Menggunakan zip
1names = ["Alice", "Bob", "Charlie"]
2ages = [25, 30, 35]
3for name, age in zip(names, ages):
4 print(f"{name} is {age} years old.")- Dengan menggunakan
zip, anda boleh mengulang pelbagai senarai secara serentak.
Ciri-ciri Senarai dan Mengurus Kes Tepi
Menggunakan senarai secara langsung adalah mudah, tetapi apabila bekerja dengan data besar, adalah penting untuk menggunakan sintaks yang jelas dan cekap.
Penggunaan Pemahaman Senarai
Sebagai contoh, jika anda ingin mengelakkan elemen senarai yang berulang, anda boleh menggunakan set untuk mengelakkan output yang berulang.
1items = ["apple", "banana", "apple", "cherry"]
2for item in set(items):
3 print(item)- Dalam contoh ini,
setdigunakan untuk mengendalikan elemen yang berulang.
Menggulang Melalui Kamus
Apabila menggulang melalui kamus, gunakan kaedah items() untuk mengakses kekunci dan nilai.
1capitals = {"USA": "Washington, D.C.", "France": "Paris", "Japan": "Tokyo"}
2for country, capital in capitals.items():
3 print(f"The capital of {country} is {capital}.")- Kod ini melintasi kunci dan nilai dalam satu kamus yang mengandungi negara dan ibu kota mereka, serta mencetaknya.
Menggunakan Senarai Komprehensi
Menggunakan senarai komprehensi boleh menjadikan kod lebih ringkas dan mudah dibaca. Ini berkesan apabila mencipta senarai baharu dengan gelung for.
1squares = [x**2 for x in range(10)]
2print(squares)- Kod ini menggunakan pemahaman senarai untuk mengira kuasa dua integer dari 0 hingga 9 dan menyimpan hasilnya dalam satu senarai.
Gelung Bersyarat
Dengan menambah syarat, anda boleh melaksanakan penapisan atau operasi lain dalam gelung apabila tindakan spesifik diperlukan.
1numbers = [1, 2, 3, 4, 5]
2even_squares = [x**2 for x in numbers if x % 2 == 0]
3print(even_squares)- Kod ini menggunakan pemahaman senarai untuk mengkuasa-duakan hanya nombor genap daripada senarai
numbersdan menyimpannya dalam senarai baru.
Menggunakan else
Dalam Python, anda boleh memasukkan klausa else dalam gelung. Ini hanya dilaksanakan jika gelung berhenti secara semula jadi, tanpa diganggu oleh break.
1numbers = [1, 2, 3, 4, 5]
2search_for = 6
3
4for number in numbers:
5 if number == search_for:
6 print("Number found!")
7 break
8else:
9 print("Number not found.")- Dalam kod ini, kerana nilai
6yang diberikan kepadasearch_fortidak terdapat dalam senarai, gelung berjalan sehingga akhir dan kemudian memaparkan mesejNumber not found.
Berhati-hati apabila mengubah senarai di dalam gelung
Mengubah senarai yang sedia ada di dalam gelung for boleh menyebabkan tingkah laku yang tidak diingini atau keputusan yang tidak dapat diramalkan. Operasi sebegini sepatutnya dielakkan secara amnya.
Contoh terburuk
1numbers = [1, 2, 3, 4]
2for i in numbers:
3 numbers.append(i * 2) # Modify the list while iterating
4 if len(numbers) > 10:
5 break # Avoid infinite loop- Ini mungkin menghasilkan keputusan yang tidak diingini dan bukan kod yang selamat. Sebaliknya, adalah disyorkan untuk sama ada mencipta senarai baru atau menggunakan gelung berasaskan indeks untuk mengekalkan kod yang stabil.
Memilih data sasaran
Dengan menggunakan struktur data yang sesuai semasa perlaksanaan gelung for, anda boleh meningkatkan kecekapan. Menggunakan penjana untuk transformasi data besar atau itertools untuk penyederhanaan adalah berkesan.
Generator
1def generate_numbers():
2 for i in range(5):
3 yield i
4
5for number in generate_numbers():
6 print(number)- Dengan menggunakan generator seperti itu, anda boleh menguruskan data secara aliran (flow-oriented) tanpa perlu memuatkan semuanya sekali gus.
itertools
1import itertools
2
3# Generate numbers starting from 0 infinitely (limited using takewhile)
4counter = itertools.count()
5
6# Output numbers from 0 to 4
7for number in itertools.takewhile(lambda x: x < 5, counter):
8 print(number)- Dengan menggunakan
itertools, anda boleh memproses data seperti aliran tanpa had dengan cekap sambil mengekalkan kawalan. Sebagai contoh, seperti yang ditunjukkan di atas, anda boleh menghasilkan jujukan nilai menggunakancount()dan mendapatkan nilai hanya selagi syarat dipenuhi menggunakantakewhile(). Ini membolehkan pemprosesan aliran yang fleksibel dan mudah dibaca tanpa perlu menyatakan syarat penamatan secara eksplisit.
Kesimpulan
Gelung for Python boleh mengendalikan pelbagai tugas, daripada ulangan mudah kepada transformasi yang kompleks. Walau bagaimanapun, penggunaan yang tidak betul boleh menyebabkan kerumitan yang tidak perlu dan mengurangkan kecekapan. Dengan mengikuti amalan terbaik ini, anda boleh menulis kod yang cekap sambil meningkatkan kebolehselenggaraan dan kebolehbacaan.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.