Khi bạn sử dụng zip()
chức năng trong Python, phải mất hai hoặc nhiều tập dữ liệu và “nén” chúng lại với nhau. Điều này trả về một đối tượng chứa các cặp mục bắt nguồn từ tập dữ liệu. Nó nhóm các mục này theo thứ tự chỉ mục của chúng.
Hãy để tôi chia nhỏ hơn một chút: mục đầu tiên từ tập dữ liệu đầu tiên được ghép nối với mục đầu tiên trong tập dữ liệu thứ hai, mục thứ hai trong cả hai tập dữ liệu được ghép nối với nhau, v.v.
Trong bài viết này, chúng ta sẽ xem cách sử dụng zip()
chức năng trong Python với một số ví dụ.
Làm thế nào để sử dụng zip()
Chức năng trong Python
Đây là cú pháp cho zip()
chức năng trong Python:
zip(dataSet1, dataSet2, ...)
Dưới đây là một ví dụ để chứng minh cách nó hoạt động:
names = ("John", "Jane", "Jade")
ages = (2, 4, 6)
print(zip(names, ages))
# <zip object at 0x7f8d5915cc40>
Trong đoạn mã trên, chúng tôi đã tạo hai tuples
– names
và ages
.
Sau đó chúng tôi đã sử dụng zip()
chức năng: print(zip(names, ages))
.
Nhưng chúng tôi không thực sự nhận được dữ liệu được ghép nối trả lại cho chúng tôi. Điều này là do chúng ta phải nói nó sẽ được nén vào cấu trúc dữ liệu nào. Đây:
names = ("John", "Jane", "Jade")
ages = (2, 4, 6)
zipped = zip(names, ages)
print(tuple(zipped))
# (('John', 2), ('Jane', 4), ('Jade', 6))
Chúng tôi đã lưu trữ dữ liệu đã nén của mình trong một biến có tên zipped
và trong khi in nó, chúng tôi lồng nó vào một tuple
: print(tuple(zipped))
.
Tôi đã nhận xét đầu ra của mã: (('John', 2), ('Jane', 4), ('Jade', 6))
. Như bạn có thể thấy ở trên, mỗi mục tại một chỉ mục nhất định được ghép nối với một mục khác trong cùng chỉ mục từ tập dữ liệu khác.
Bạn cũng có thể trả lại dữ liệu được lồng trong một list
. Đây là cách:
names = ("John", "Jane", "Jade")
ages = (2, 4, 6)
zipped = zip(names, ages)
print(list(zipped))
# [('John', 2), ('Jane', 4), ('Jade', 6)]
Điều này giống như ví dụ trước, nhưng thay vì có tuple(zipped)
chúng tôi đã sử dụng list(zipped)
.
Theo cách tương tự, chúng ta cũng có thể sử dụng dict
và set
nhưng dữ liệu được trả về khi chúng tôi sử dụng set
có khả năng là không có thứ tự.
Chúng tôi có thể lặp qua dữ liệu đã nén bằng cách thực hiện việc này:
names = ("John", "Jane", "Jade", "John")
ages = (2, 4, 6)
zipped = zip(names, ages)
for(x,y) in zipped:
print(x,y)
# John 2
# Jane 4
# Jade 6
Phần kết luận
Trong bài viết này, chúng ta đã học được những gì zip()
chức năng là gì và nó làm gì trong Python.
Chúng ta đã thấy cách nén hai tập dữ liệu và trả về các cặp của chúng bằng các cấu trúc dữ liệu khác nhau.
Cuối cùng, chúng ta đã thấy cách lặp qua và in dữ liệu đã nén.
Chúc mừng mã hóa!