Bạn có thể nén một con trăn từ điển không?

Hàm zip[] của Python chấp nhận các mục có thể lặp lại và hợp nhất chúng thành một bộ duy nhất. Giá trị kết quả là một đối tượng zip lưu trữ các cặp lặp. Bạn có thể chuyển danh sách, bộ dữ liệu, bộ hoặc từ điển thông qua hàm zip[]

Python có một số chức năng tích hợp cho phép lập trình viên lặp qua dữ liệu. Một trong những chức năng này là Python zip. Hàm zip[] tạo một trình vòng lặp sẽ hợp nhất các phần tử từ hai hoặc nhiều nguồn dữ liệu thành một

Tìm trận đấu Bootcamp của bạn

  • Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
  • Truy cập học bổng độc quyền và các khóa học chuẩn bị
Chọn sở thích của bạn
Tên

Họ

Email

Điện thoại .


By continuing you agree to our Terms of Service and Privacy Policy, and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

Trong hướng dẫn này, chúng ta sẽ chia nhỏ những điều cơ bản về Python zip[]. Chúng ta cũng sẽ thảo luận về cách lặp qua một tệp zip và cách giải nén một đối tượng được nén

Giới thiệu về vòng lặp Python

Trong Python, chúng tôi sử dụng thuật ngữ lặp để mô tả khi một chương trình đang chạy qua một danh sách. Ví dụ: giả sử bạn có một vòng lặp in ra tên của mọi chi nhánh mà công ty điều hành. Chúng tôi sẽ nói rằng chương trình của chúng tôi đang lặp qua danh sách tên

Mặt khác, một iterable là một đối tượng có thể trả về các mục thành viên của nó một cách riêng lẻ. Mảng có thể lặp lại vì bạn có thể in ra từng mục riêng lẻ bằng cách sử dụng vòng lặp for

Chức năng zip Python

Hàm zip[] kết hợp nội dung của hai hoặc nhiều lần lặp lại. zip[] trả về một đối tượng zip. Đây là một trình lặp của các bộ trong đó tất cả các giá trị bạn đã truyền dưới dạng đối số được lưu trữ dưới dạng các cặp

Hàm zip[] của Python lấy một đối số có thể lặp lại—chẳng hạn như danh sách, bộ dữ liệu, bộ hoặc từ điển—làm đối số. Hàm sẽ tạo một danh sách các bộ chứa các phần tử từ mỗi lần lặp mà bạn đã chuyển vào hàm

Cú pháp của hàm zip[] như sau

zip[iterable1, iterable2, ...]

Bạn có thể bao gồm bao nhiêu lần lặp tùy thích. Bạn phải chỉ định các lần lặp mà bạn muốn hợp nhất làm đối số cho hàm zip[]

» THÊM.   Python Di chuyển Tệp. Hướng dẫn đầy đủ

Phương thức zip[] tiếp tục thực thi cho đến khi các đối tượng có thể lặp lại được nén hoàn toàn. Điều này xảy ra khi các lần lặp đã cạn kiệt. Nói cách khác, phương thức zip[] dừng khi tất cả các cặp có thể được tạo

zip Ví dụ về Python

Giả sử bạn có hai danh sách Python. Một danh sách chứa tên nhân viên và danh sách kia chứa mã số nhân viên. Bạn muốn hợp nhất cả hai danh sách thành một mảng các bộ. Điều này sẽ cho phép bạn lưu trữ tên và số nhân viên cạnh nhau

Chúng ta có thể sử dụng hàm zip[] để hợp nhất hai danh sách của mình. Đây là một chương trình ví dụ sẽ hợp nhất dữ liệu này

employee_numbers = [2, 9, 18, 28]
employee_names = ["Candice", "Ava", "Andrew", "Lucas"]

zipped_values = zip[employee_names, employee_numbers]
zipped_list = list[zipped_values]

print[zipped_list]

Hàm zip của chúng tôi trả về như sau

[['Candice', 2], ['Ava', 9], ['Andrew', 18], ['Lucas', 28]]

Chương trình của chúng tôi đã tạo ra một mảng các mục tuple. Mỗi bộ dữ liệu chứa tên của một nhân viên và mã số nhân viên tương ứng

Trên hai dòng mã đầu tiên của chúng tôi, chúng tôi khai báo các biến lưu trữ số nhân viên và tên nhân viên của chúng tôi

Tiếp theo, chúng tôi thực hiện chức năng zip[]. Hàm này hợp nhất hai danh sách của chúng ta lại với nhau và tạo một mảng bộ dữ liệu mới

Chúng tôi chuyển đổi mục zip của mình thành một danh sách. Điều này là do hàm zip[] trả về một đối tượng zip. Chúng ta có thể lặp qua một đối tượng zip. Tuy nhiên, chúng tôi không thể in một zip ra bảng điều khiển và xem nội dung của nó ở dạng có thể đọc được. Chúng ta phải chuyển đổi đối tượng zip của mình thành một danh sách để có thể xem nội dung của zip từ bảng điều khiển

Chúng tôi có thể nói rằng zipped_values ​​của chúng tôi là một mục zip[] bằng cách thêm đoạn mã sau vào chương trình trên của chúng tôi

print[type[zipped_values]]

Mã của chúng tôi trả về lớp được nén sau

Trong ví dụ trên, chúng tôi đã nén hai mục lại với nhau. Tuy nhiên, nếu chúng tôi có nhiều thứ mà chúng tôi muốn nén, chúng tôi cũng có thể làm điều đó. Thay đổi duy nhất chúng tôi sẽ thực hiện là chuyển một danh sách các mục khác vào hàm zip[] của chúng tôi

» THÊM.   Lỗi thụt lề Python. unindent không khớp với bất kỳ cấp độ thụt lề bên ngoài nào Giải pháp

Vòng lặp qua Iterables bằng cách sử dụng zip trong Python

Hàm zip[] trả về một trình vòng lặp. Điều này có nghĩa là chúng tôi có thể xem nội dung của từng mục được nén riêng lẻ

Làm việc với nhiều lần lặp là một trong những trường hợp sử dụng phổ biến nhất cho hàm zip[] trong Python. Ví dụ: nếu bạn muốn xem qua nhiều danh sách, bạn có thể muốn sử dụng hàm zip[]

Hãy sử dụng hàm zip[] để lặp lại cả danh sách employee_numbers và employee_names của chúng ta

employee_numbers = [2, 9, 18, 28]
employee_names = ["Candice", "Ava", "Andrew", "Lucas"]

for name, number in zip[employee_names, employee_numbers]:
	print[name, number]

Mã của chúng tôi trả về như sau

Candice 2
Ava 9
Andrew 18
Lucas 28

Chương trình của chúng tôi lặp qua danh sách các bộ mà zip[] trả về và chia chúng thành hai giá trị. tên và số

Điều này giúp chúng tôi dễ dàng lặp qua nhiều đối tượng có thể lặp lại cùng một lúc. Bây giờ chúng ta có thể xem từng tên nhân viên cùng với mã số nhân viên tương ứng của họ. Nếu muốn, chúng ta có thể sử dụng điều này để lặp qua ba hoặc nhiều đối tượng có thể lặp lại

Giải nén các giá trị trong Python

Trong mã của chúng tôi, chúng tôi đã nén nhiều loại dữ liệu khác nhau. Nhưng làm cách nào để chúng tôi khôi phục dữ liệu về dạng trước đó? . Đây là dấu hoa thị * được sử dụng cùng với hàm zip[]

"Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. "

Venus, Kỹ sư phần mềm tại Rockbot

Find Your Bootcamp Match

Dưới đây là một ví dụ về hoạt động của toán tử giải nén zip[]

employees_zipped = [['Candice', 2], ['Ava', 9], ['Andrew', 18], ['Lucas', 28]]
employee_names, employee_numbers = zip[*employees_zipped]

print[employee_names]
print[employee_numbers]

Mã của chúng tôi trả về đầu ra sau

________số 8

Trên dòng đầu tiên của mã của chúng tôi, chúng tôi xác định một biến bao gồm một danh sách các bộ dữ liệu. Sau đó, trên dòng tiếp theo, chúng tôi xác định hai biến. Các biến này là employee_names và employee_numbers. Chúng tôi gán các giá trị biến này từ chức năng giải nén của chúng tôi

» THÊM.   Cách sử dụng bất kỳ và tất cả Python. Hướng dẫn từng bước

Hàm giải nén là một hàm zip sử dụng biến employee_zipped của chúng tôi để giải nén zip bằng cách sử dụng toán tử giải nén *. Trong ví dụ trên của chúng tôi, chúng tôi in ra hai biến mới chứa tên nhân viên và mã số nhân viên của chúng tôi

Phần kết luận

Hàm zip[] nhận các đối tượng có thể lặp lại làm đầu vào và kết hợp chúng thành một đối tượng zip[]. Đối tượng zip[] này hiển thị các giá trị từ từng đầu vào có thể lặp lại cạnh nhau. Điều này có thể hữu ích nếu bạn có hai hoặc nhiều mảng hoặc bộ mà bạn muốn hợp nhất thành một

Chúng ta đã thảo luận về cách sử dụng hàm zip[] với đầu vào là 0 hoặc 1. Bạn có thể sử dụng zip[] để lặp qua các lần lặp và bạn có thể giải nén dữ liệu mà bạn đã nén. Bạn hiện đang trên đường trở thành bậc thầy về hàm zip[] trong Python

Đọc hướng dẫn Cách viết mã bằng Python của chúng tôi để biết thêm mẹo và lời khuyên về việc học ngôn ngữ phát triển phần mềm Python

Xếp hạng bài viết này



Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK

Cách tốt nhất để lưu trữ từ điển Python là gì?

Tệp văn bản . store them as strings in text files.

Nhược điểm của từ điển trong Python là gì?

Dưới đây là một số nhược điểm khi sử dụng từ điển Python. [i] Từ điển không có thứ tự . Trong trường hợp thứ tự của dữ liệu là quan trọng, từ điển Python không phù hợp. [ii] Từ điển Python chiếm nhiều dung lượng hơn các cấu trúc dữ liệu khác.

Zip [*] trong Python là gì?

Phương thức zip[] của Python lấy bộ chứa hoặc bộ chứa có thể lặp lại và trả về một đối tượng bộ lặp duy nhất, có các giá trị được ánh xạ từ tất cả các bộ chứa . Nó được sử dụng để ánh xạ chỉ mục tương tự của nhiều vùng chứa để chúng có thể được sử dụng chỉ bằng một thực thể duy nhất. cú pháp. zip[*iterators]

Bạn có thể nén 3 danh sách Python không?

Hàm zip[] của Python cũng giúp dễ dàng nén nhiều hơn hai danh sách . Điều này hoạt động chính xác như bạn mong đợi, nghĩa là bạn chỉ cần chuyển các danh sách dưới dạng các đối số khác nhau. Tại đây, bạn đã học cách nén ba [hoặc nhiều hơn] danh sách trong Python, sử dụng hàm zip[] tích hợp.

Chủ Đề