Amalan Terbaik untuk Gelung for dalam Python

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, set digunakan 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 numbers dan 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 6 yang diberikan kepada search_for tidak terdapat dalam senarai, gelung berjalan sehingga akhir dan kemudian memaparkan mesej Number 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 menggunakan count() dan mendapatkan nilai hanya selagi syarat dipenuhi menggunakan takewhile(). 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.

YouTube Video