Python cho vòng lặp zip hai danh sách

Bạn có thể sử dụng

[[1, 'a'], [2, 'b'], [3, 'c']]
7 để lặp qua nhiều danh sách có độ dài bằng nhau trong một vòng lặp

users = ["Jan", "Mike", "Marry", "Mike"]
user_visits = [10, 31, 10, 1]

for user, visits in zip[users, user_visits]:
    print[f"{user}: {visits}"]

# Jan: 10
# Mike: 31
# Marry: 10
# Mike: 1

Trong hướng dẫn này, chúng ta sẽ xem xét cách lặp song song nhiều danh sách bằng cách sử dụng hàm

[[1, 'a'], [2, 'b'], [3, 'c']]
8 trong python

Hàm
[[1, 'a'], [2, 'b'], [3, 'c']]
8 của Python

Hàm

[[1, 'a'], [2, 'b'], [3, 'c']]
8 trong python được sử dụng để tổng hợp các phần tử từ nhiều đối tượng có thể lặp lại theo từng phần tử thành một bộ lặp có thể lặp lại. Ví dụ: nếu bạn kết hợp các danh sách
[[1, 'a'], [2, 'b'], [3, 'c']]
1 và
[[1, 'a'], [2, 'b'], [3, 'c']]
2 bằng cách sử dụng hàm
[[1, 'a'], [2, 'b'], [3, 'c']]
8, nó sẽ trả về một đối tượng zip có thể lặp lại có thể được chuyển đổi thành danh sách các bộ dữ liệu –
[[1, 'a'], [2, 'b'], [3, 'c']]
4. Sau đây là cú pháp để hợp nhất hai danh sách

ls1 = [1, 2, 3]
ls2 = ['a', 'b', 'c']
combined_ls = list[zip[ls1, ls2]]
print[combined_ls]

đầu ra

[[1, 'a'], [2, 'b'], [3, 'c']]

Để kết hợp các danh sách, chúng tôi chuyển từng danh sách làm đối số cho hàm

[[1, 'a'], [2, 'b'], [3, 'c']]
8

Lặp lại song song nhiều danh sách trong Python

Chúng ta có thể sử dụng hàm

[[1, 'a'], [2, 'b'], [3, 'c']]
8 để lặp song song nhiều danh sách. Đối với điều này, hãy chuyển các danh sách làm đối số cho hàm. Ví dụ sau minh họa điều này tốt hơn

Giả sử chúng ta có hai danh sách, một chứa tên của sinh viên và danh sách kia chứa điểm Toán của họ. Bạn được giao nhiệm vụ in tên của học sinh và điểm cạnh nhau

Một cách để thực hiện việc này là lặp song song hai danh sách bằng zip[] và in phần tử thứ i trong danh sách đầu tiên và phần tử thứ i trong danh sách thứ hai trên mỗi lần lặp

names = ['Sam', 'Meena', 'Jim', 'Emma', 'Steve']
scores = [57, 63, 61, 86, 72]
# iterate over both lists
for name, score in zip[names, scores]:
    print["{} : {}".format[name, score]]

đầu ra

Sam : 57
Meena : 63
Jim : 61
Emma : 86
Steve : 72

Bạn có thể thấy rằng tên và điểm số của học sinh được hiển thị cùng nhau. Đoạn mã trên lặp lại từng phần tử của cả hai danh sách và in chúng cùng nhau

Sử dụng
[[1, 'a'], [2, 'b'], [3, 'c']]
8 trên các danh sách có độ dài khác nhau

Điều gì sẽ xảy ra nếu bạn áp dụng hàm

[[1, 'a'], [2, 'b'], [3, 'c']]
8 trên các danh sách có độ dài khác nhau?
Chà, hãy cùng tìm hiểu.

________số 8

đầu ra

[[1, 'a'], [2, 'b']]

Khi được áp dụng trên các danh sách có độ dài khác nhau,

[[1, 'a'], [2, 'b'], [3, 'c']]
8 dừng ở cuối danh sách ngắn nhất. Vì danh sách ngắn nhất
names = ['Sam', 'Meena', 'Jim', 'Emma', 'Steve']
scores = [57, 63, 61, 86, 72]
# iterate over both lists
for name, score in zip[names, scores]:
    print["{} : {}".format[name, score]]
0, có độ dài 2, nên danh sách các bộ kết quả cũng có độ dài 2

Ngoài ra, bạn có thể sử dụng hàm

names = ['Sam', 'Meena', 'Jim', 'Emma', 'Steve']
scores = [57, 63, 61, 86, 72]
# iterate over both lists
for name, score in zip[names, scores]:
    print["{} : {}".format[name, score]]
1 từ mô-đun
names = ['Sam', 'Meena', 'Jim', 'Emma', 'Steve']
scores = [57, 63, 61, 86, 72]
# iterate over both lists
for name, score in zip[names, scores]:
    print["{} : {}".format[name, score]]
2 dừng ở cuối danh sách dài nhất và có thể điền vào các giá trị còn thiếu bằng một số giá trị tùy chỉnh. Ví dụ sau minh họa việc sử dụng nó

[[1, 'a'], [2, 'b'], [3, 'c']]
3

đầu ra

[[1, 'a'], [2, 'b'], [3, 'c']]
4

Đầu tiên, chúng ta chỉ cần chuyển hai danh sách có độ dài 2 và 3 cho hàm

names = ['Sam', 'Meena', 'Jim', 'Emma', 'Steve']
scores = [57, 63, 61, 86, 72]
# iterate over both lists
for name, score in zip[names, scores]:
    print["{} : {}".format[name, score]]
1 mà không chỉ định giá trị điền. Sau đó, chúng tôi đã chuyển hai danh sách giống nhau nhưng chỉ định giá trị điền là
names = ['Sam', 'Meena', 'Jim', 'Emma', 'Steve']
scores = [57, 63, 61, 86, 72]
# iterate over both lists
for name, score in zip[names, scores]:
    print["{} : {}".format[name, score]]
4. Lưu ý rằng cả hai danh sách kết quả đều có độ dài 3, nghĩa là độ dài của danh sách dài nhất

Để biết thêm về chức năng zip[] của python, hãy tham khảo tài liệu của nó

Với điều này, chúng ta đi đến phần cuối của hướng dẫn này. Các ví dụ về mã và kết quả được trình bày trong hướng dẫn này đã được triển khai trong Jupyter Notebook với python [phiên bản 3. 8. 3] nhân


Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin và hướng dẫn.
Chúng tôi không gửi thư rác và bạn có thể chọn không tham gia bất kỳ lúc nào.


Hướng dẫn về danh sách python

  • Python – Kiểm tra xem một phần tử có trong danh sách không
  • Python – Lặp lại song song nhiều danh sách bằng cách sử dụng zip[]
  • Python – Làm phẳng danh sách các danh sách thành một danh sách
  • Pandas DataFrame vào danh sách trong Python
  • Python – Chuyển đổi danh sách thành chuỗi
  • Chuyển đổi mảng Numpy thành Danh sách - Với các ví dụ
  • Hiểu danh sách Python – Với các ví dụ
  • Chỉ mục danh sách Python – Với các ví dụ
  • Danh sách Python Đếm tần suất mục
  • Độ dài danh sách Python
  • Python Sắp xếp danh sách – Với các ví dụ
  • Python Đảo ngược một danh sách - Với các ví dụ
  • Python Xóa các bản sao khỏi danh sách
  • Danh sách Python nối thêm, mở rộng và chèn chức năng
  • Các chức năng loại bỏ, bật và xóa danh sách Python

Tác giả

  • Piyush Raj

    Piyush là một chuyên gia dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ

    Bạn có thể lặp qua 2 danh sách trong Python không?

    Ví dụ 2. Sử dụng itertools [Python 2+] . Phương thức cho phép vòng lặp chạy cho đến khi danh sách dài nhất dừng lại. Using the zip_longest[] method of itertools module, you can iterate through two parallel lists at the same time. The method lets the loop run until the longest list stops.

    Làm cách nào để lặp lại đồng thời hai danh sách có độ dài khác nhau trong Python?

    izip_longest[] nếu sử dụng Python 2] để tạo chuỗi các mục được ghép nối . Các cặp sẽ được đệm bằng Không có đối với danh sách có độ dài không khớp. Sau đó, bạn có thể đơn giản hóa mã trong phần nội dung của vòng lặp bằng cách làm phẳng chuỗi các mục được ghép nối và lọc ra các giá trị Không có và trong trường hợp của bạn là các giá trị 0.

    Làm cách nào để so sánh hai danh sách trong Python?

    Chúng ta có thể kết hợp phương thức sort[] của Python với toán tử == để so sánh hai danh sách. Phương thức sort[] trong Python được sử dụng để sắp xếp danh sách đầu vào với mục đích nếu hai danh sách đầu vào bằng nhau thì các phần tử sẽ nằm ở cùng vị trí chỉ mục.

Chủ Đề