Untuk Gelung di Python

Untuk Penyataan Gelung

Python menggunakan loop untuk mengulangi senarai elemen. Tidak seperti C atau Java, yang menggunakan loop untuk mengubah nilai dalam beberapa langkah dan mengakses sesuatu seperti array menggunakan nilai tersebut.

Untuk gelung berulang, struktur data berdasarkan koleksi seperti senarai, tupel, dan kamus.

Sintaks asasnya adalah:

for value in list_of_values: # use value inside this block

Secara umum, anda boleh menggunakan apa sahaja sebagai nilai iterator, di mana entri lelaran dapat diberikan. Contohnya, anda boleh membongkar tupel dari senarai tupel:

list_of_tuples = [(1,2), (3,4)] for a, b in list_of_tuples: print("a:", a, "b:", b)

Sebaliknya, anda boleh menggunakan apa sahaja yang boleh diulang. Anda boleh memanggil fungsi atau menggunakan senarai literal.

for person in load_persons(): print("The name is:", person.name)
for character in ["P", "y", "t", "h", "o", "n"]: print("Give me a '{}'!".format(character))

Beberapa cara untuk gelung digunakan:

Berulang pada fungsi julat ()

for i in range(10): print(i)

Daripada fungsi, julat sebenarnya adalah jenis urutan yang tidak berubah. Output akan mengandungi hasil dari batas bawah iaitu 0 hingga batas atas iaitu 10 tetapi tidak termasuk 10. Secara lalai batas bawah atau indeks permulaan ditetapkan ke sifar. Pengeluaran:

> 0 1 2 3 4 5 6 7 8 9 >

Selain itu, seseorang dapat menentukan batas bawah urutan dan bahkan langkah urutan dengan menambahkan parameter kedua dan ketiga.

for i in range(4,10,2): #From 4 to 9 using a step of two print(i)

Pengeluaran:

> 4 6 8 >

fungsi xrange ()

Sebahagian besarnya, xrange dan range adalah sama dari segi fungsi. Mereka berdua menyediakan cara untuk menghasilkan senarai bilangan bulat untuk anda gunakan, sesuka hati Satu-satunya perbezaan ialah julat mengembalikan objek senarai Python dan xrange mengembalikan objek xrange. Ini bermaksud bahawa xrange sebenarnya tidak menghasilkan senarai statik pada jangka masa seperti julat. Ini mewujudkan nilai-nilai yang anda perlukan dengan teknik khas yang disebut rendering. Teknik ini digunakan dengan jenis objek yang dikenali sebagai generator.

Satu perkara lagi yang perlu ditambahkan. Dalam Python 3.x, fungsi xrange sudah tidak wujud lagi. Fungsi julat sekarang melakukan apa yang xrange lakukan di Python 2.x

Berulang nilai lebih dalam senarai atau tuple

A = ["hello", 1, 65, "thank you", [2, 3]] for value in A: print(value)

Pengeluaran:

> hello 1 65 thank you [2, 3] >

Ikut kunci pada kamus (aka hashmap)

fruits_to_colors = {"apple": "#ff0000", "lemon": "#ffff00", "orange": "#ffa500"} for key in fruits_to_colors: print(key, fruits_to_colors[key])

Pengeluaran:

> apple #ff0000 lemon #ffff00 orange #ffa500 >

Ulangi lebih daripada dua senarai dengan ukuran yang sama dalam satu gelung dengan fungsi zip ()

A = ["a", "b", "c"] B = ["a", "d", "e"] for a, b in zip(A, B): print a, b, a == b 

Pengeluaran:

> a a True b d False c e False >

Ulangi senarai dan dapatkan indeks yang sesuai dengan fungsi bilangan ()

A = ["this", "is", "something", "fun"] for index,word in enumerate(A): print(index, word)

Pengeluaran:

> 0 this 1 is 2 something 3 fun >

Kes penggunaan biasa adalah berulang melalui kamus:

for name, phonenumber in contacts.items(): print(name, "is reachable under", phonenumber)

Sekiranya anda benar-benar perlu mengakses indeks lelaran anda sekarang, JANGAN gunakan range(len(iterable))! Ini adalah amalan yang sangat buruk dan akan membuat anda banyak tergelak daripada pemaju kanan Python. Gunakan fungsi terbina sebagai enumerate()gantinya:

for index, item in enumerate(shopping_basket): print("Item", index, "is a", item)

untuk / penyataan lain

Pyhton membenarkan anda menggunakan yang lain dengan gelung, kes yang lain dijalankan apabila tidak ada syarat yang terdapat pada badan gelung yang dipenuhi. Untuk menggunakan yang lain, kita harus menggunakan breakpernyataan sehingga kita dapat keluar dari gelung pada keadaan puas. Sekiranya kita tidak putus maka bahagian yang lain akan dilaksanakan.

week_days = ['Monday','Tuesday','Wednesday','Thursday','Friday'] today = 'Saturday' for day in week_days: if day == today: print('today is a week day') break else: print('today is not a week day')

Dalam kes di atas, output akan berlaku today is not a week daykerana jeda dalam gelung tidak akan dapat dilaksanakan.

Ulangi senarai menggunakan fungsi gelung sebaris

Kita juga boleh melakukan lelaran menggunakan python, sebagai contoh jika kita perlu huruf besar dalam semua senarai dari senarai, kita hanya boleh melakukan perkara berikut:

A = ["this", "is", "awesome", "shinning", "star"] UPPERCASE = [word.upper() for word in A] print (UPPERCASE)

Pengeluaran:

> ['THIS', 'IS', 'AWESOME', 'SHINNING', 'STAR'] >

Maklumat lanjut:

  • Python2 untuk dokumentasi gelung
  • Python3 untuk dokumentasi gelung