Hướng dẫn zip_longest python example - ví dụ về trăn zip_longest

Python sườn Itertool là một mô -đun cung cấp các chức năng khác nhau hoạt động trên các trình lặp để tạo ra các trình lặp phức tạp. Mô-đun này hoạt động như một công cụ nhanh, tiết kiệm bộ nhớ được sử dụng bởi chính chúng hoặc kết hợp để tạo thành đại số Iterator.

Trình lặp trong Python là một đối tượng có thể lặp lại như các loại dữ liệu trình tự như danh sách, tuple, str, v.v.sequence data types such as list, tuple, str and so on.

Lưu ý: Để biết thêm thông tin, hãy tham khảo Python Itertools For more information, refer to Python Itertools

Itertools.zip_longest[]

Công cụ lặp này thuộc danh mục chấm dứt vòng lặp. Nó in các giá trị của Iterables thay thế theo trình tự. Nếu một trong các vòng lặp được in đầy đủ, các giá trị còn lại được điền bởi các giá trị được gán cho tham số fillvalue.

Syntax:

zip_longest[ iterable1, iterable2, fillval]

Ví dụ 1:

import itertools  

print [

The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
0
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
1

print [

The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
4
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
5
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
6
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
7
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
8
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
9
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
0
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
1
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
2

Output:

The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']

Ví dụ 2:

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
3
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
4import
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6

Các

from itertools import zip_longest

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip_longest[l_1, l_2, fillvalue="_"]]

print[combinated]  # [[1, 1], [2, 2], [3, '_']]
4
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
0
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
9
from itertools import zip_longest

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip_longest[l_1, l_2, fillvalue="_"]]

print[combinated]  # [[1, 1], [2, 2], [3, '_']]
7
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
7
from itertools import zip_longest

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip_longest[l_1, l_2, fillvalue="_"]]

print[combinated]  # [[1, 1], [2, 2], [3, '_']]
9
The combined values of iterables is  : 
['G', 'e'] ['e', 'k'] ['s', 'f'] ['o', 'r'] ['G', 'e'] ['e', 'k'] ['s', '_']
7fillvalue1
from itertools import zip_longest

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip_longest[l_1, l_2, fillvalue="_"]]

print[combinated]  # [[1, 1], [2, 2], [3, '_']]
3

fillvalue3

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
0 fillvalue5fillvalue6

printfillvalue8

Output:

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]

Trong bài đăng đoạn trích tuần trước, chúng tôi đã nói về chức năng fillvalue9 cực kỳ mạnh mẽ và cách chúng tôi có thể sử dụng nó để làm cho các vòng lặp của chúng tôi trở nên pythonic hơn. Tuần này chúng ta sẽ nói về người anh em ít nổi tiếng của fillvalue9:

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6.

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6 sống trong mô -đun import3 mà chúng tôi đã nói về một thời gian ngắn trước đây. import3 chứa tất cả các loại chức năng hữu ích xoay quanh các hoạt động lặp.

Vậy

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6 khác với fillvalue9 cũ như thế nào? Tại sao chúng ta nên quan tâm đến nó?

Chà, khi chúng tôi sử dụng fillvalue9, fillvalue9 sẽ ngừng kết hợp các phép lặp của chúng tôi ngay khi một trong số chúng hết các yếu tố. Nếu các lần lặp khác dài hơn, chúng tôi chỉ cần ném những vật phẩm dư thừa đó đi. Hãy xem ví dụ này:

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip[l_1, l_2]]

print[combinated]  # [[1, 1], [2, 2]]

Như bạn có thể thấy, chúng tôi chỉ mất

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip[l_1, l_2]]

print[combinated]  # [[1, 1], [2, 2]]
4 trong itertools  0. Điều đó đôi khi có thể khá có vấn đề. Chúng tôi thường không muốn vứt dữ liệu như thế này.

May mắn thay, chúng tôi có

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6 ở đây để cứu chúng tôi.

Hãy nhìn vào ví dụ của chúng tôi ở trên một lần nữa. Lần này sử dụng

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6.

from itertools import zip_longest

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip_longest[l_1, l_2, fillvalue="_"]]

print[combinated]  # [[1, 1], [2, 2], [3, '_']]

Có một vài điều cần lưu ý ở đây. Đối với một, chúng tôi có một bộ thứ ba trong đối tượng zip của chúng tôi, có nghĩa là danh sách dài hơn có thể cung cấp tất cả các giá trị của nó. Thứ hai, chúng tôi có đối số từ khóa này được gọi là fillvalue.

Nếu chúng ta nhìn vào đầu ra print cho phân đoạn mã nhỏ của chúng ta, chúng ta có thể nhận được một số dấu hiệu cho thấy điều này làm gì. Như chúng ta có thể thấy, nơi không có giá trị nào phù hợp với

l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip[l_1, l_2]]

print[combinated]  # [[1, 1], [2, 2]]
4,
[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6 phù hợp với
l_1 = [1, 2, 3]
l_2 = [1, 2]

combinated = list[zip[l_1, l_2]]

print[combinated]  # [[1, 1], [2, 2]]
4 với fillvalue của chúng tôi.

Về bản chất, bất cứ lúc nào

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6 không có giá trị để khớp với một trong các yếu tố của chúng tôi, nó sẽ đặt fillvalue này ở đó để cắm các khoảng trống.

Chúng tôi thực sự có thể sử dụng bất kỳ fillvalue nào chúng tôi muốn ở đây: số, danh sách, từ điển, print2. Bất cứ điều gì bạn có thể nghĩ đến. Điều này làm cho nó cực kỳ linh hoạt, và nó chắc chắn là một điều tốt để biết.

Trong trường hợp bạn quan tâm, chúng tôi có thể gọi

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6 mà không cần đối số fillvalue, trong trường hợp đó sẽ mặc định sử dụng print2 làm fillvalue.

Gói lên

Đó là nó cho bài viết đoạn trích này! Tôi hy vọng bạn đã học được điều gì đó mới và tôi chắc chắn bạn sẽ tìm thấy tất cả các cách tuyệt vời để sử dụng

[[1, 8], [2, 9], [3, 10], [4, None], [5, None], [6, None], [7, None]]
6 trong mã của riêng bạn.

Như mọi khi, nếu bạn nghiêm túc về việc cải thiện con trăn của mình, tôi khuyên bạn nên xem khóa học Python hoàn chỉnh của chúng tôi! Nó có hơn 35 giờ vật liệu, cùng với các câu đố, bài tập và một số dự án lớn, vì vậy đó là một cách tuyệt vời để phát triển các kỹ năng trăn của bạn.

Bạn cũng nên nghĩ về việc đăng ký vào danh sách gửi thư của chúng tôi bên dưới, khi chúng tôi đăng mã phiếu giảm giá thường xuyên cho các khóa học của chúng tôi, đảm bảo rằng bạn luôn nhận được thỏa thuận tốt nhất.

Mã hóa hạnh phúc!

Bài Viết Liên Quan

Chủ Đề