Saya menyelam ke Python dan saya memiliki pertanyaan tentang iterasi foreach. Saya baru mengenal Python dan saya memiliki pengalaman dalam C #. Jadi saya bertanya-tanya, apakah ada beberapa fungsi setara di Python untuk iterasi di semua item dalam koleksi saya, mis
pets = ['cat', 'dog', 'fish']
marks = [ 5, 4, 3, 2, 1]
atau sesuatu seperti ini.
Jawaban:
Tentu. A untuk loop.
sumber
for k,v in enumerate(pets):
dll.Seperti ini:
Bahkan, Python hanya memiliki
for
loop gaya foreach .sumber
Ini juga menarik untuk diamati
Untuk beralih pada indeks urutan, Anda dapat menggabungkan
range()
danlen()
sebagai berikut:keluaran
Sunting # 1: Cara alternatif:
Saat mengulang melalui urutan, indeks posisi dan nilai yang sesuai dapat diambil pada saat yang sama menggunakan
enumerate()
fungsi.keluaran
sumber
Untuk jawaban yang diperbarui, Anda dapat membangun
forEach
fungsi dengan Python dengan mudah:Anda juga bisa beradaptasi ini untuk
map
,reduce
,filter
, dan setiap fungsi array lain dari bahasa lain atau didahulukan Anda ingin membawa lebih. Untuk loop cukup cepat, tetapi pelat ketel lebih panjang dariforEach
atau fungsi lainnya. Anda juga dapat memperluas daftar untuk memiliki fungsi-fungsi ini dengan pointer lokal ke kelas sehingga Anda dapat memanggilnya langsung pada daftar juga.sumber
Meskipun jawaban di atas valid, jika Anda mengulangi dict {key: value}, ini adalah pendekatan yang ingin saya gunakan:
Karenanya, jika saya ingin melakukan sesuatu seperti merangkai semua kunci dan nilai dalam kamus saya, saya akan melakukan ini:
Ini menghindari masalah mutasi saat menerapkan jenis iterasi ini, yang dapat menyebabkan perilaku tidak menentu (kadang-kadang) dalam pengalaman saya.
sumber
copy
dari satu kamus, sehingga Anda dapat memanipulasi kamus selama iterasi (meskipun salinan Anda akan dari semua kunci dan nilai sebelum modifikasi apa pun) - sepertifor key, value in Dictionary.copy().items()
Untuk dict kita dapat menggunakan loop for untuk beralih melalui
index
,key
danvalue
:sumber