Hàm zip[] trong Python trả về một đối tượng zip, là một iterator dạng danh sách các tuple kết hợp các phần tử từ các iterator [được tạo thành từ các iterable] khác.
Cú pháp hàm zip[] trong Python
zip[*iterable]
[Iterable là một đối tượng sau khi sử dụng các phương thức sẽ trả về một iterator, ví dụ như Chuỗi, List, Tuple].
Tham số của hàm zip[]
Hàm zip[] trong Python có tham số:
- iterable: các iterable được tích hợp sẵn [như list, string, dict] hoặc iterable do người dùng khai báo [được tạo thành từ phương thức __iter__]
Đọc thêm về Đối tượng Iterator trong Python.
Giá trị trả về từ zip[]
Hàm zip [] trả về một iterator của các bộ dữ liệu tuple dựa trên iterable object.
- Nếu không có tham số nào được truyền, zip[] trả về một iterator rỗng.
- Nếu tham số được truyền chỉ có duy nhất một iterable, zip[] trả về tuple có 1 phần tử.
- Nếu tham số được truyền có nhiều iterable và độ dài của các iterable không bằng nhau, zip sẽ tạo các tuple có độ dài bằng với số iterable nhỏ nhất.
Cách sử dụng zip[]
Ví dụ 1: Cách zip[] hoạt động trong Python
numberList = [1, 2, 3]
strList = ['one', 'two', 'three']
# Không truyền iterable
result = zip[]
# Chuyển đổi iterator thành list
resultList = list[result]
print[resultList]
# Truyền 2 iterator
result = zip[numberList, strList]
# Chuyển đổi iterator thành set
resultSet = set[result]
print[resultSet]
Chạy chương trình, kết quả trả về là:
[]
{[2, 'two'], [3, 'three'], [1, 'one']}
Ví dụ 2: Các iterator có số phần tử khác nhau
numbersList = [1, 2, 3]
strList = ['one', 'two']
numbersTuple = ['ONE', 'TWO', 'THREE', 'FOUR']
result = zip[numbersList, numbersTuple]
# Chuyển đổi thành set
resultSet = set[result]
print[resultSet]
result = zip[numbersList, strList, numbersTuple]
# Chuyển đổi thành set
resultSet = set[result]
print[resultSet]
Chạy chương trình, kết quả trả về là:
{[2, 'TWO'], [3, 'THREE'], [1, 'ONE']}
{[2, 'two', 'TWO'], [1, 'one', 'ONE']}
Toán tử * có thể được sử dụng cùng với zip[] để giải nén danh sách.
Ví dụ 3: Giải nén giá trị bằng cách sử dụng zip[]
coordinate = ['x', 'y', 'z']
value = [3, 4, 5, 0, 9]
result = zip[coordinate, value]
resultList = list[result]
print[resultList]
c, v = zip[*resultList]
print['c =', c]
print['v =', v]
Chạy chương trình, kết quả trả về là:
[['x', 3], ['y', 4], ['z', 5]]
c = ['x', 'y', 'z']
v = [3, 4, 5]
Xem thêm: Các hàm Python tích hợp sẵn
Hàm zip[] trong Python trả về một đối tượng zip, là một iterator dạng danh sách các tuple kết hợp các phần tử từ các iterator [được tạo thành từ các iterable] khác.
Nội dung chính
- Cú pháp hàm zip[] trong Python
- Tham số của hàm zip[]
- Giá trị trả về từ zip[]
- Cách sử dụng zip[]
- Ví dụ 1: Cách zip[] hoạt động trong Python
- Ví dụ 2: Các iterator có số phần tử khác nhau
- Ví dụ 3: Giải nén giá trị bằng cách sử dụng zip[]
- Tạo File Zip sử dụng Python
Cú pháp hàm zip[] trong Python
zip[*iterable]
[Iterable là một đối tượng sau khi sử dụng các phương thức sẽ trả về một iterator, ví dụ như Chuỗi, List, Tuple].
Tham số của hàm zip[]
Hàm zip[] trong Python có tham số:
- iterable: các iterable được tích hợp sẵn [như list, string, dict] hoặc iterable do người dùng khai báo [được tạo thành từ phương thức __iter__]
Đọc thêm về Đối tượng Iterator trong Python.
Giá trị trả về từ zip[]
Hàm zip [] trả về một iterator của các bộ dữ liệu tuple dựa trên iterable object.
- Nếu không có tham số nào được truyền, zip[] trả về một iterator rỗng.
- Nếu tham số được truyền chỉ có duy nhất một iterable, zip[] trả về tuple có 1 phần tử.
- Nếu tham số được truyền có nhiều iterable và độ dài của các iterable không bằng nhau, zip sẽ tạo các tuple có độ dài bằng với số iterable nhỏ nhất.
Cách sử dụng zip[]
Ví dụ 1: Cách zip[] hoạt động trong Python
numberList = [1, 2, 3]
strList = ['one', 'two', 'three']
# Không truyền iterable
result = zip[]
# Chuyển đổi iterator thành list
resultList = list[result]
print[resultList]
# Truyền 2 iterator
result = zip[numberList, strList]
# Chuyển đổi iterator thành set
resultSet = set[result]
print[resultSet]
Chạy chương trình, kết quả trả về là:
[]
{[2, 'two'], [3, 'three'], [1, 'one']}
Ví dụ 2: Các iterator có số phần tử khác nhau
numbersList = [1, 2, 3]
strList = ['one', 'two']
numbersTuple = ['ONE', 'TWO', 'THREE', 'FOUR']
result = zip[numbersList, numbersTuple]
# Chuyển đổi thành set
resultSet = set[result]
print[resultSet]
result = zip[numbersList, strList, numbersTuple]
# Chuyển đổi thành set
resultSet = set[result]
print[resultSet]
Chạy chương trình, kết quả trả về là:
{[2, 'TWO'], [3, 'THREE'], [1, 'ONE']}
{[2, 'two', 'TWO'], [1, 'one', 'ONE']}
Toán tử * có thể được sử dụng cùng với zip[] để giải nén danh sách.
Ví dụ 3: Giải nén giá trị bằng cách sử dụng zip[]
coordinate = ['x', 'y', 'z']
value = [3, 4, 5, 0, 9]
result = zip[coordinate, value]
resultList = list[result]
print[resultList]
c, v = zip[*resultList]
print['c =', c]
print['v =', v]
Chạy chương trình, kết quả trả về là:
[['x', 3], ['y', 4], ['z', 5]]
c = ['x', 'y', 'z']
v = [3, 4, 5]
Xem thêm: Các hàm Python tích hợp sẵn
Nối tiếp tutorial về lập trình Python, hôm nay chúng ta sẽ học cách tạo ra file zip bằng cách sử dụng Python, thông qua thư viện zipfile. Thư viện này là build-in của Python 3 nên các bạn không cần phải thực hiện cài đặt.
Tạo File Zip sử dụng Python
Đầu tiên là import thư viện filezip
import zipfile
Lựa chọn mode để nén file zip
# Select the compression mode ZIP_DEFLATED for compression # or zipfile.ZIP_STORED to just store the file try: import zlib compression = zipfile.ZIP_DEFLATED except Exception as ex: compression = zipfile.ZIP_STORED print[ex]
Tạo file Zip với đường dẫn và mode [w – write, a – append]
# create the zip file first parameter path/name, second mode zf = zipfile.ZipFile['vinasupport.com.zip', mode='w']
Thêm file vào file zip vừa tạo
# Add file to the zip file # first parameter file to zip, second filename in zip zf.write['vinasupport.com.txt', 'vinasupport.com.txt', compress_type=compression
Close file
# Don't forget to close the file! zf.close[]
Vậy đoạn code đầy đủ sẽ là:
import zipfile # Select the compression mode ZIP_DEFLATED for compression # or zipfile.ZIP_STORED to just store the file try: import zlib compression = zipfile.ZIP_DEFLATED except Exception as ex: compression = zipfile.ZIP_STORED print[ex] # create the zip file first parameter path/name, second mode zf = zipfile.ZipFile['vinasupport.com.zip', mode='w'] # Add file to the zip file # first parameter file to zip, second filename in zip zf.write['vinasupport.com.txt', 'vinasupport.com.txt', compress_type=compression] # Don't forget to close the file! zf.close[]
Kết quả
Sau khi chạy đoạn code trên chúng ta đã tạo thành công file zip
Đây là chương trình tạo file zip đơn giản, các bạn muốn làm nhiều thư hơn như zip folder, tạo mật khẩu cho file zip thì vui lòng tham khảo hướng dẫn sử dụng thư viện zipfile ở đây.
Nguồn vinasupport.com