Ma trận zip Python

Python có các hàm tích hợp hữu ích có thể giúp cuộc sống của bạn dễ dàng hơn và tiết kiệm một số dòng mã mà không làm giảm chất lượng

Hôm nay, các bạn sẽ học cách sử dụng hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8. Hàm
[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8 có thể được sử dụng để tổng hợp dữ liệu từ nhiều lần lặp, chẳng hạn như danh sách. Đây là một minh họa

Hình ảnh của tác giả?

Chức năng zip[] là gì?

Trước khi chuyển sang các trường hợp sử dụng, hãy giới thiệu ngắn gọn về hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8

Hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8 tổng hợp các phần tử từ các lần lặp, chẳng hạn như hai danh sách. Nó trả về một đối tượng iterator

Chẳng hạn, hãy nén người chơi và số người chơi lại với nhau

Để hiển thị kết quả nén, player_data được chuyển đổi thành danh sách để đơn giản hóa

Kết quả

[[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale'], [10, 'Lionel Messi']]

Hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8 tạo các bộ dữ liệu từ các phần tử thứ n của cả hai danh sách. Nhìn chung, nguyên lý hoạt động tương tự như dây kéo vật lý

Ảnh của Tomas Sobek trên Bapt

Bây giờ bạn đã biết những kiến ​​thức cơ bản về hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8. Hãy xem bạn có thể làm gì với nó

1. Zip bất kỳ số lượng Iterables

Bạn không bị hạn chế nén chỉ hai lần lặp

Ví dụ: hãy nén ba danh sách

đầu ra

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]

2. Kết hợp danh sách các kích cỡ khác nhau

Các danh sách được nén không cần phải có độ dài bằng nhau

Ví dụ

đầu ra

[[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale']]

Khi bạn kết hợp các danh sách có độ dài khác nhau, hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8 sẽ bỏ qua mọi thứ vượt qua danh sách ngắn nhất

Nếu bạn không muốn bỏ qua các giá trị cuối cùng, bạn có thể sử dụng hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
4. Chức năng này là một phần của mô-đun
[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
5, vì vậy hãy đảm bảo nhập nó

Ví dụ

đầu ra

[[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale'], [None, 'Lionel Messi']]

Hàm này thay thế cặp giá trị bị thiếu bằng

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
6 theo mặc định. Điều này cũng có thể được thay đổi. Nếu bạn muốn hiển thị
[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
7 thay vì
[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
6, bạn có thể xác định đối số tùy chọn
[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
9

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
0

3. Giải nén

Không có hàm

[[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale']]
0 tích hợp sẵn trong Python. Thay vào đó, bạn có thể sử dụng hàm
[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8 “đảo ngược” để xé nhỏ dữ liệu đã nén. Trong trường hợp này, bạn cũng cần sử dụng dấu hoa thị [
[[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale']]
2]

Giải nén trong hành động

Ví dụ

đầu ra

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
3

4. Chuyển đổi hai danh sách thành từ điển

Có hai cách đơn giản để chuyển đổi hai danh sách thành một từ điển mà không cần sử dụng vòng lặp

[[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale']]
3

Cách tiếp cận đầu tiên sử dụng

  • Hiểu từ điển, là cách viết tắt của vòng lặp
    [[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale']]
    3
  • Và hàm
    [[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
    8

Cách tiếp cận thứ hai nén hai danh sách và chuyển đổi kết quả thành từ điển

5. Nén vào cho các vòng lặp

Nếu bạn muốn xử lý nhiều danh sách trong cùng một vòng lặp

[[7, 'Cristiano Ronaldo'], [9, 'Gareth Bale']]
3, hãy sử dụng
[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8

Ví dụ

6. Làm việc với các yếu tố liên tiếp

Nén cũng có thể hữu ích khi làm việc với một danh sách nếu bạn muốn thực hiện một số hành động trên các phần tử liên tiếp

Chẳng hạn, đưa ra một danh sách các tọa độ, hãy tính khoảng cách đến các tọa độ lân cận như thế này

đầu ra

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
7

7. Chuyển vị ma trận

Trong toán học, phép hoán vị ma trận là một phép toán lật ma trận trên đường chéo của nó

Trong Python, bạn có thể tính toán chuyển vị của ma trận bằng cách giải nén ma trận [một danh sách các danh sách]

Ví dụ: hãy tính chuyển vị của ma trận

Giải nén hoạt động theo cùng một cách bất kể bạn giải nén danh sách hay bộ. Trong trường hợp này, giải nén ma trận nhóm các giá trị đầu tiên, giá trị thứ hai và giá trị thứ ba của danh sách

Sự kết luận

Trong Python, hàm

[[7, 'Cristiano Ronaldo', 'Juventus'], [9, 'Gareth Bale', 'Real Madrid'], [10, 'Lionel Messi', 'FC Barcelona']]
8 tích hợp có thể được sử dụng để tổng hợp dữ liệu từ nhiều lần lặp, chẳng hạn như danh sách. Nó hoạt động tương tự như một dây kéo vật lý

Zip [* ma trận trong Python là gì?

Hàm zip[] của Python được định nghĩa là zip[*iterables]. Hàm nhận các iterables làm đối số và trả về một iterator . Trình lặp này tạo ra một loạt các bộ chứa các phần tử từ mỗi lần lặp. zip[] có thể chấp nhận mọi loại có thể lặp lại, chẳng hạn như tệp, danh sách, bộ dữ liệu, từ điển, bộ, v.v.

Zip [* ma trận nghĩa là gì?

zip[*a] là chuyển vị ma trận và nghịch đảo của chính nó cũng vậy.

Bạn có thể nén các mảng trong Python không?

Nếu chúng ta muốn liên kết hoặc nén dữ liệu của các mảng khác thì chúng ta có thể sử dụng hàm zip trong python của NumPy . Chức năng này loại bỏ sự cần thiết của đối tượng lớp nếu không cần thiết. Chúng ta có thể dễ dàng ánh xạ dữ liệu của mình với bất kỳ số nào trong mảng và điều này có thể được thực hiện rất dễ dàng bằng cách sử dụng hàm zip[].

Bạn có thể nén 4 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. Cái này là cái gì? .

Chủ Đề