Hướng dẫn zip list of lists python - danh sách zip của danh sách python

Hướng dẫn zip list of lists python - danh sách zip của danh sách python

Phương thức Python Zip () trả về một đối tượng ZIP, một trình lặp của các bộ dữ liệu trong đó phần tử đầu tiên trong mỗi lần lặp đi qua được ghép nối với nhau. Sau đó, phần tử thứ hai trong mỗi lần lặp được cho được ghép nối với nhau và phần thứ ba, v.v.

Để tạo danh sách pythonziplist của danh sách, hãy xác định ba danh sách khác nhau với cùng một số phần tử và chuyển các danh sách đó sang phương thức zip (), sẽ trả về trình lặp tuple và sau đó chuyển đổi nó thành danh sách bằng phương thức Danh sách ().create a Python zip list of lists, define three different lists with the same number of elements and pass those lists to the zip() method, which will return the tuple iterator and then convert it into the list using the list() method.

# app.py

stocks = ['reliance', 'infosys', 'tcs']
prices = [2175, 1127, 2750]
sectors = ['Oil and Telecom', 'IT', 'IT']

zipped = zip(stocks, prices, sectors)

print(list(zipped))

Đầu ra

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]

Bạn có thể thấy rằng nó kết hợp với mục đầu tiên của mỗi danh sách, sau đó là thứ hai và thứ ba. Chúng ta có thể kết hợp danh sách các danh sách bằng phương thức zip ().

Giải nén các đối số

Tình huống ngược lại xảy ra khi các đối số đã nằm trong danh sách hoặc tuple nhưng phải được giải nén cho một cuộc gọi chức năng yêu cầu các đối số vị trí riêng biệt.list or tuple but have to be unpacked for a function call requiring separate positional arguments.

Ví dụ: hàm RANGE () Inbuilt () mong đợi các đối số Start & nbsp; và & nbsp; dừng. Nếu chúng không có sẵn riêng biệt, hãy viết cuộc gọi chức năng với trình điều hành *để giải nén các đối số khỏi danh sách hoặc tuple.range() function expects separate start and stop arguments. If they are unavailable separately, write the function call with the *-operator to unpack the arguments from a list or tuple.

# app.py

rdata = list(range(2, 8))
print(rdata)

args = [2, 8]
op = list(range(*args))
print(op)

Đầu ra

[2, 3, 4, 5, 6, 7]
[2, 3, 4, 5, 6, 7]

Bạn có thể thấy rằng nó kết hợp với mục đầu tiên của mỗi danh sách, sau đó là thứ hai và thứ ba. Chúng ta có thể kết hợp danh sách các danh sách bằng phương thức zip ().

# app.py

x = [1, 2]
y = [11, 22]
z = [111, 222]

op = zip(*[x, y, z])
print(list(op))

Đầu ra

[(1, 11, 111), (2, 22, 222)]

Bạn có thể thấy rằng nó kết hợp với mục đầu tiên của mỗi danh sách, sau đó là thứ hai và thứ ba. Chúng ta có thể kết hợp danh sách các danh sách bằng phương thức zip ().

Giải nén các đối số

Tình huống ngược lại xảy ra khi các đối số đã nằm trong danh sách hoặc tuple nhưng phải được giải nén cho một cuộc gọi chức năng yêu cầu các đối số vị trí riêng biệt.merge/zip them together. This is quite an uncommon scenario, but the solution can still be easy.

Ví dụ: hàm RANGE () Inbuilt () mong đợi các đối số Start & nbsp; và & nbsp; dừng. Nếu chúng không có sẵn riêng biệt, hãy viết cuộc gọi chức năng với trình điều hành *để giải nén các đối số khỏi danh sách hoặc tuple.itertools.chain() + zip() methods.

# app.py

import itertools

listA = [[2, 4], [6, 8], [10, 12]]
listB = [[1, 3], [5, 7], [9, 11]]

op = [list(itertools.chain(*i))
      for i in zip(listA, listB)]

print(list(op))

Đầu ra

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

Bạn có thể thấy rằng nó kết hợp với mục đầu tiên của mỗi danh sách, sau đó là thứ hai và thứ ba. Chúng ta có thể kết hợp danh sách các danh sách bằng phương thức zip ().itertools.chain() and zip() functions can perform this particular job. The chain() function can perform the inter-list aggregation, and the final aggregation is done by the zip() method.

Giải nén các đối số

Tôi muốn zip danh sách danh sách sau:

>>> zip([[1,2], [3,4], [5,6]])
[[1,3,5], [2,4,6]]

Điều này có thể đạt được với việc triển khai

# app.py

rdata = list(range(2, 8))
print(rdata)

args = [2, 8]
op = list(range(*args))
print(op)
0 hiện tại chỉ khi danh sách được chia thành các thành phần riêng lẻ:

>>> zip([1,2], [3,4], [5,6])
   (1, 3, 5), (2, 4, 6)]

Không thể tìm ra cách phân chia danh sách và chuyển các yếu tố riêng lẻ cho

# app.py

rdata = list(range(2, 8))
print(rdata)

args = [2, 8]
op = list(range(*args))
print(op)
0. Một giải pháp chức năng được ưa thích.

Trong bài đăng này, bạn sẽ học cách sử dụng danh sách Python to ZIP, bao gồm cách zip hai hoặc nhiều danh sách trong Python. Cụ thể, bạn sẽ học cách zip hai danh sách Python, ZIP ba hoặc nhiều danh sách, danh sách các độ dài khác nhau và danh sách danh sách.

  • Hàm Zip Python là gì?
  • Cách zip hai danh sách trong Python
  • Cách zip 3 (hoặc nhiều hơn) danh sách trong Python
  • Cách zip danh sách các độ dài khác nhau trong Python
  • Cách zip danh sách danh sách trong Python
  • Sự kết luận
  • Tài nguyên bổ sung

Hàm Zip Python là gì?

Cách zip hai danh sách trong Python

Cách zip 3 (hoặc nhiều hơn) danh sách trong Python

Cách zip danh sách các độ dài khác nhau trong Python

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
0

Cách zip danh sách danh sách trong Python

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
1

Sự kết luận

Tài nguyên bổ sung

Chức năng Python & nbsp; ____ 22 & nbsp; là một hàm tích hợp, trả về một đối tượng tererator chứa các bộ dữ liệu, mỗi trong đó chứa một loạt các nhóm chứa các phần tử từ mỗi đối tượng có thể.

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
2

Bây giờ, định nghĩa này là một chút phức tạp. Nó có thể hữu ích khi nghĩ về & nbsp; ____ 22 & nbsp; có chức năng kết hợp hai hoặc nhiều danh sách (hoặc các đối tượng khác có thể đi được) vào một đối tượng chứa các bộ dữ liệu được đặt hàng từ danh sách.

Ví dụ: bạn đã đưa ra hai danh sách: & nbsp; ____ ____ 24, trong đó có chứa & nbsp; Nếu bạn đã zip hai danh sách này, bạn sẽ lấy lại như sau:

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
3

Bây giờ, bạn có thể nhận thấy rằng chúng tôi đã gói hàm zip () với chức năng & nbsp; ____ ____ 28 & nbsp; Lý do cho điều này là chức năng zip thực sự trả về A & nbsp; ________ 20 & nbsp; đối tượng. Chúng tôi có thể xác nhận điều này bằng cách kiểm tra loại này:

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
4

Hàm zip có bất kỳ số lượng đối tượng có thể lặp lại và sẽ zip chúng lại với nhau. Tuy nhiên, một cái gì đó cần lưu ý: & nbsp; chức năng zip tích hợp sẽ tối đa với chiều dài của số ít nhất được cung cấp. Bởi vì điều này, nếu một danh sách chứa 5 phần tử và một danh sách khác chứa một triệu - đối tượng ZIP thu được sẽ chỉ chứa 5 mục. Sau đó trong bài đăng này, chúng tôi sẽ khám phá cách làm việc với các danh sách kéo dài các độ dài khác nhau.

Cách zip 3 (hoặc nhiều hơn) danh sách trong Python

Cách zip danh sách các độ dài khác nhau trong Python

Cách zip danh sách danh sách trong Python

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
5

Sự kết luận

Cách zip danh sách các độ dài khác nhau trong Python

Cách zip danh sách danh sách trong Python

Sự kết luận

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
6

Tài nguyên bổ sung

Chức năng Python & nbsp; ____ 22 & nbsp; là một hàm tích hợp, trả về một đối tượng tererator chứa các bộ dữ liệu, mỗi trong đó chứa một loạt các nhóm chứa các phần tử từ mỗi đối tượng có thể.

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
7

Bây giờ, định nghĩa này là một chút phức tạp. Nó có thể hữu ích khi nghĩ về & nbsp; ____ 22 & nbsp; có chức năng kết hợp hai hoặc nhiều danh sách (hoặc các đối tượng khác có thể đi được) vào một đối tượng chứa các bộ dữ liệu được đặt hàng từ danh sách.

Ví dụ: bạn đã đưa ra hai danh sách: & nbsp; ____ ____ 24, trong đó có chứa & nbsp; Nếu bạn đã zip hai danh sách này, bạn sẽ lấy lại như sau:

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
8

Bây giờ, bạn có thể nhận thấy rằng chúng tôi đã gói hàm zip () với chức năng & nbsp; ____ ____ 28 & nbsp; Lý do cho điều này là chức năng zip thực sự trả về A & nbsp; ________ 20 & nbsp; đối tượng. Chúng tôi có thể xác nhận điều này bằng cách kiểm tra loại này:

Cách zip danh sách danh sách trong Python

Sự kết luận

Tài nguyên bổ sung

[('reliance', 2175, 'Oil and Telecom'), ('infosys', 1127, 'IT'), ('tcs', 2750, 'IT')]
9

Chức năng Python & nbsp; ____ 22 & nbsp; là một hàm tích hợp, trả về một đối tượng tererator chứa các bộ dữ liệu, mỗi trong đó chứa một loạt các nhóm chứa các phần tử từ mỗi đối tượng có thể.

  • Đầu tiên giải nén từng mục của danh sách bên ngoài, do đó trả về hai danh sách bên trong.
  • Sau đó, các danh sách này sau đó được nén.
  • Cuối cùng, đối tượng zip được biến thành một danh sách.

Sự kết luận

Trong bài đăng này, bạn đã học cách zip hai hoặc nhiều danh sách Python. Bạn cũng đã học cách làm việc với các danh sách có độ dài (không đồng đều) khác nhau cũng như với danh sách danh sách.

Để tìm hiểu thêm về Python & nbsp; ________ 22 & nbsp; chức năng, hãy xem & nbsp; tài liệu chính thức ở đây. Để tìm hiểu thêm về itertool từ & nbsp; ____ 43 & nbsp; chức năng, hãy xem & nbsp; tài liệu chính thức ở đây.

Tài nguyên bổ sung

Để tìm hiểu thêm về các chủ đề liên quan, hãy xem các hướng dẫn dưới đây:

  • Danh sách Python: Tổng quan đầy đủ
  • Chỉ số danh sách Python: Tìm đầu tiên, cuối cùng hoặc tất cả các lần xuất hiện
  • Tìm bản sao trong danh sách Python
  • Python: Chọn phần tử ngẫu nhiên từ danh sách

Bạn có thể zip một danh sách các danh sách trong Python không?

Zip () trong Python: Nhận các yếu tố từ nhiều danh sách. Trong Python, chức năng tích hợp zip () tổng hợp nhiều đối tượng có thể lặp lại (danh sách, bộ dữ liệu, v.v.). Bạn có thể lặp lại nhiều danh sách trong vòng lặp với zip ().You can iterate multiple lists in the for loop with zip() .

Chúng ta có thể zip nhiều danh sách trong Python không?

Nó có thể hữu ích khi nghĩ về hàm zip () khi kết hợp hai hoặc nhiều danh sách (hoặc các đối tượng có thể đi được khác) vào một đối tượng chứa các bộ dữ liệu được đặt hàng từ các danh sách.Ví dụ dưới đây cho thấy hàm zip () có thể dễ dàng hợp nhất hai danh sách trong Python mà không cần thêm bất kỳ nỗ lực nào.the zip() function can easily merge two lists in python without any extra effort.

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

Hàm python zip () giúp bạn dễ dàng khóa hơn hai danh sách.Điều này hoạt động chính xác như bạn mong đợi, có nghĩa là bạn chỉ cần truyền trong danh sách dưới dạng các đối số khác nhau.Cái này là cái gì?Ở đây bạn đã học được cách zip ba (hoặc nhiều) danh sách trong Python, sử dụng hàm zip () tích hợp!. This works exactly like you'd expect, meaning you just only need to pass in the lists as different arguments. What is this? Here you have learned how to zip three (or more) lists in Python, using the built-in zip() function!

Tôi có thể zip ba danh sách không?

Python zipping của ba danh sách bằng cách sử dụng hàm zip () với nhiều lần lặp đầu vào cần thiết.Độ dài của các bộ dữ liệu kết quả sẽ luôn bằng số lần lặp bạn vượt qua dưới dạng đối số.Đây là cách chúng ta có thể zip ba danh sách trong Python.. The length of the resulting tuples will always equal the number of iterables you pass as arguments. This is how we can zip three lists in Python.