Hàm Zip và UnZip trong Python là gì?



Bài viết này sẽ cung cấp cho bạn kiến ​​thức chi tiết và toàn diện về Hàm Zip trong Python, cách nó được sử dụng và cách giải nén.

Bạn đã bao giờ tự hỏi làm thế nào chúng ta có thể lấy mỗi phần tử từ hai danh sách khác nhau và tạo chúng thành một cặp và đưa chúng vào một danh sách mới? Khái niệm này ngoài việc thú vị còn rất hữu ích trong nhiều lĩnh vực chuyên môn. Chúng ta hãy làm quen với hàm zip trong Python theo thứ tự sau:

mở rộng và triển khai cùng nhau trong java

Hàm zip trong Python

Hàm zip trong Python





Hàm zip () là một hàm tích hợp sẵn và nó nhận bất kỳ số lần lặp nào và trả về một danh sách các bộ giá trị. Phần tử thứ i của bộ giá trị được tạo bằng cách sử dụng phần tử thứ i từ mỗi vòng lặp.

list_A = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) print zl

Đầu ra:



[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]

Zip trong Python 3

Trong Python 3, khi chúng tôi thực thi đoạn mã trên, chúng tôi sẽ không nhận được kết quả tương tự. Thay vào đó, chúng tôi sẽ nhận được:



Hãy thử nó ra!

Điều này là do các phương thức zip trả về một đối tượng zip thay vì một danh sách. Đối tượng zip này là một trình lặp. Nói cách khác, trả về một đối tượng trình lặp duy nhất, có các giá trị được ánh xạ từ tất cả các vùng chứa. Vì vậy, để nhận được các giá trị, chúng tôi hoặc chuyển đổi zl (từ mã trên) thành danh sách, thiết lập hoặc bất cứ thứ gì.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) print (zl)

Đầu ra:

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]

UnZipping bằng Python

Giải nén có nghĩa là chuyển đổi các giá trị đã nén trở lại bản thân như cũ. Điều này được thực hiện với sự trợ giúp của toán tử “*”. Vì vậy, bây giờ, nếu chúng ta muốn đưa các giá trị cũ vào listA và listB từ danh sách nén zl, thì chúng ta phải giải nén zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA và listB và đặt nó trong một danh sách zl zl = zip (listA, listB) zl = list (zl) print (zl) #unzip zl và đưa các giá trị trở lại listA và listB listA, listB = zip (* zl) print (listA) print (listB)

Đầu ra:

socket trong java là gì

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]
(1, 2, 3, 4)
('A B C D')

Để hiểu rõ ràng sự khác biệt, chúng tôi lấy hai biến mới và đưa dữ liệu đã giải nén vào đó.

làm thế nào để chuyển đổi double sang int trong java
listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) print (zl) listC, listD = zip (* zl) print (listC) print (listD) print (listA) print (listB)

Đầu ra:

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]
(1, 2, 3, 4, 5)
(‘A’, ‘b’, ‘c’, ‘d’, ‘e’)
[1, 2, 3, 4, 5]
[‘A’, ‘b’, ‘c’, ‘d’, ‘e’]

Như bạn thấy, listA và listB là danh sách và listC và listD được hiển thị dưới dạng các bộ giá trị được hiển thị dưới dạng đầu ra. Đó là sự khác biệt nhỏ duy nhất.

Với điều này, chúng ta sẽ kết thúc bài viết Hàm Zip trong Python này. Tôi hy vọng rằng bạn đã học tốt các khái niệm và do đó hãy thử nó để chính xác hơn.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog “Hàm Zip trong Python” và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.

Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể với đào tạo trực tuyến trực tiếp của chúng tôi với hỗ trợ 24/7 và quyền truy cập suốt đời.