Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธี Iterate ผ่านสอง Lists พร้อมกันใน Python

สมมติว่าสอง Lists อาจมีความยาวไม่เท่ากัน การ Traverse แบบ Parallel บน Common Indices สามารถทำได้ด้วย For Loop บน Range ของความยาวน้อยที่สุด

>> L1 = ['a', 'b', 'c', 'd']
>>> L2 = [4, 5, 6]
>>> l = len(L1) if len(L1) <= len(L2) else len(L2)
>>> l
3
>>> for i in range(l):
...     print(L1[i], L2[i])
a 4
b 5
c 6

วิธีที่ Pythonic กว่าคือใช้ฟังก์ชัน zip() ซึ่งให้ Iterator ที่รวม Elements จากแต่ละ Iterable

>> for i, j in zip(L1, L2):
...     print(i, j)
a 4
b 5
c 6