Python iterate kamus while loop

Jika Anda pernah menggunakan bahasa lain di masa lalu, pasti Anda sudah tidak asing lagi dengan struktur kontrol yang terlihat seperti ini

while(i < 10) {
// do stuff
i = i + 1;
}
for(var i=0; i<10; i++) { // do stuff
}

Python memiliki rasa loopnya sendiri, tetapi hanya dengan mengadopsi struktur lama yang sama di Python benar-benar menjual bahasanya dengan singkat

Berikut adalah lima cara berbeda untuk menulis loop for dengan Python, dimulai dengan konversi metode tradisional

1. Tradisional Untuk Loop

Loop for_ tradisional memiliki tiga komponen pada strukturnya

  • Inisialisasi variabel
  • Ekspresi perbandingan
  • Akhiri ekspresi

Secara umum, ini berarti Anda menyetel indeks ke nol, membandingkannya dalam ekspresi, dan menambahkannya satu per satu. Untuk membuat ulang ini dengan Python, Anda sebenarnya akan menggunakan while loop tetapi kita dapat meniru ide variabel inkremen yang digunakan untuk mereferensikan indeks

Metode ini tidak akan berfungsi untuk kamus karena data memerlukan iterable dengan nilai posisi, tetapi saya ingin memasukkannya untuk referensi

mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
_

2. Tidak Ada Metode

Oke, ke kamus. Mari kita mulai dengan metode paling sederhana untuk menulis loop Python for

mock_data = {
"id": 1,
"first_name": "Cory",
"last_name": "Schimmang",
"email": "[email protected]",
"gender": "Female",
"ip_address": "186.239.104.33"
}

for x in mock_data:
print(x) # id, first_name, last_name, email, gender, ip_address
"""
id
first_name
last_name
email
gender
ip_address
"""

Variabel

mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
_0 akan ditugaskan setiap iterable dalam
mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
1. Metode ini mirip dengan
mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
_2 loop dalam bahasa seperti PHP

Setiap kunci disimpan ke x dan dapat digunakan untuk referensi nilai dengan mencetak

mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
3 dalam contoh kita

3. Menggunakan. kunci()

Metode lain untuk mengulangi kunci dalam kamus adalah dengan menggunakan metode

mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
4 yang mengembalikan objek
mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
5 yang kemudian diulang saat kita menyimpan setiap nilai dalam variabel
mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
0 kita

mock_data = {
"id": 1,
"first_name": "Cory",
"last_name": "Schimmang",
"email": "[email protected]",
"gender": "Female",
"ip_address": "186.239.104.33"
}

for x in mock_data.keys():
print(x)
"""
id
first_name
last_name
email
gender
ip_address
"""

4. Menggunakan. nilai()

Jika kita ingin benar pada setiap nilai dalam kamus, maka menggunakan metode

mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
7 akan menyimpan nilai istilah di
mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
0 daripada kunci

mock_data = {
"id": 1,
"first_name": "Cory",
"last_name": "Schimmang",
"email": "[email protected]",
"gender": "Female",
"ip_address": "186.239.104.33"
}

for x in mock_data.values():
print(x)
"""
1
Cory
Schimmang
[email protected]
Female
186.239.104.33
"""

5. Menggunakan. item()

Lebih sering daripada tidak, Anda akan menginginkan akses ke kunci dan nilainya. Dalam skenario ini, gunakan metode

mock_data = [90, 45, 32, 44]for i in range(len(data)):
print(data[i]) # 90, 45, 32, 44
9, yang mengembalikan setiap pasangan nilai kunci sebagai tupel dua nilai

Untuk melakukan pre-split tuple, tentukan dua variabel dalam for loop Anda sehingga nilai tuple pertama (kunci) dan yang kedua (nilai) masing-masing disimpan dalam variabel pertama dan kedua

mock_data = {
"id": 1,
"first_name": "Cory",
"last_name": "Schimmang",
"email": "[email protected]",
"gender": "Female",
"ip_address": "186.239.104.33"
}

for x in mock_data.items():
print(x)
"""
('id', 1)
('first_name', 'Cory')
('last_name', 'Schimmang')
('email', '[email protected]')
('gender', 'Female')
('ip_address', '186.239.104.33')
"""

for k,v in mock_data.items():
print(k,v)
"""
id 1
first_name Cory
last_name Schimmang
email [email protected]
gender Female
ip_address 186.239.104.33
"""

Kesimpulan

Saya harap Anda telah mempelajari teknik baru untuk memanfaatkan for loop dengan Python

Ada banyak metode yang tersedia, masing-masing dengan kelebihan dan kekurangannya sendiri. Setelah Anda masuk ke eksekusi yang lebih besar, Anda mungkin menemukan perbedaan kinerja, namun, terutama pada tingkat pemula, cobalah untuk mengulang dengan sengaja apa yang diperlukan

Bagaimana cara mengulangi kamus menggunakan while loop dengan Python?

Ada beberapa cara untuk mengulangi kamus dengan Python. .
Akses kunci menggunakan build. kunci()
Akses kunci tanpa menggunakan kunci ()
Ulangi semua nilai menggunakan. nilai()
Ulangi semua kunci, dan pasangan nilai menggunakan item()
Akses kunci dan nilai tanpa menggunakan item()
Mencetak item dalam Nilai-Kunci secara berpasangan

Bisakah Anda menggunakan while loop pada kamus?

Tentu Anda dapat menggunakan perulangan while , setiap perulangan for dapat ditulis sebagai perulangan sementara jika Anda benar-benar harus melakukannya untuk beberapa alasan, tetapi saya tidak melihat keuntungan apa pun dibandingkan Anda .

Bisakah saya untuk loop A kamus Python?

Anda dapat mengulang kamus dengan menggunakan for loop . Saat mengulang melalui kamus, nilai yang dikembalikan adalah kunci kamus, tetapi ada metode untuk mengembalikan nilai juga.

Bagaimana cara membaca kamus dalam lingkaran dengan Python?

Dengan Python, untuk mengulangi kamus ( dict ) dengan loop for, gunakan metode keys() , values() , items(). You can also get a list of all keys and values in the dictionary with those methods and list() . Use the following dictionary as an example. You can iterate keys by using the dictionary object directly in a for loop.