print[zip[[1,2,3], ['a','b','c']]]
8 là một nội dung dựng sẵn của python, nó có thể được sử dụng để làm việc song song với các danh sách, không cần nhập, nó có thể truy cập được theo mặc định vì nó được xác định trong không gian tên dựng sẵnĐiều gì xảy ra nếu các danh sách không có độ dài bằng nhau?
Nếu bạn chuyển các danh sách có độ dài khác nhau, giá trị trả về sẽ có độ dài của danh sách ngắn nhất
print[zip[[1,2,3], ['a','b']]]
đầu ra
[[1, 'a'], [2, 'b']]
Các trường hợp sử dụng nâng cao - thủ thuật sử dụng zip
print[zip[[1,2,3], ['a','b','c']]]
8 có thể là công cụ mạnh mẽ đáng ngạc nhiên, đây là một số mẫu đẹp để giới thiệu những gì bạn có thể làm với nóNén nhiều danh sách
Như tôi đã đề cập,
print[zip[[1,2,3], ['a','b','c']]]
8 không giới hạn chỉ nén hai danh sách, trên thực tế, bạn có thể chuyển cho nó bất kỳ số lượng đối số nào. Kết quả sẽ tạo ra các bộ có độ dài bằng với số đối số được truyền cho print[zip[[1,2,3], ['a','b','c']]]
8. Mẫu này được sử dụng khá thường xuyên trong Pythonfor i in zip[[1,2,3], ['a','b','c'], [0.1, 0.2, 0.3]]:
print[i]
đầu ra
[1, 'a', 0.1]
[2, 'b', 0.2]
[3, 'c', 0.3]
Lặp song song hai danh sách
Python có một tính năng gọi là giải nén bộ dữ liệu, có nghĩa là bạn có thể gán giá trị cho nhiều biến trong một biểu thức
[1, 'a']
[2, 'b']
[3, 'c']
0đầu ra
[1, 'a']
[2, 'b']
[3, 'c']
1Điều này có thể được sử dụng kết hợp với zip để lặp song song trên hai [hoặc nhiều] danh sách
[1, 'a']
[2, 'b']
[3, 'c']
2đầu ra
[1, 'a']
[2, 'b']
[3, 'c']
3Kết hợp hai danh sách vào một từ điển [khóa + giá trị]
Một từ điển có thể được xác định bằng cách sử dụng danh sách các bộ dữ liệu dài 2 [cặp], vì vậy bạn có thể dễ dàng nén hai danh sách lại với nhau
[1, 'a']
[2, 'b']
[3, 'c']
4đầu ra
[1, 'a']
[2, 'b']
[3, 'c']
5Nén một danh sách các danh sách
Nếu bạn có một danh sách các danh sách [nói cách khác. một số lượng danh sách khác nhau], bạn cũng có thể nén chúng lại với nhau, bạn chỉ cần giải nén chúng bằng toán tử
print[zip[[1,2,3], ['a','b']]]
47[1, 'a']
[2, 'b']
[3, 'c']
6đầu ra
[1, 'a', 0.1]
[2, 'b', 0.2]
[3, 'c', 0.3]
Nghịch đảo của print[zip[[1,2,3], ['a','b','c']]]
8 - giải nén danh sách các bộ dữ liệu thành nhiều danh sách
print[zip[[1,2,3], ['a','b','c']]]
Mẫu trên cũng có thể được sử dụng để hoàn nguyên việc nén một danh sách các danh sách
[1, 'a']
[2, 'b']
[3, 'c']
8đầu ra
[1, 'a']
[2, 'b']
[3, 'c']
9Chuyển vị một ma trận
Khái quát hóa điều này có nghĩa là mẫu được hiển thị ở trên [giải nén + zip] có thể được sử dụng để chuyển vị trí các martix
print[zip[[1,2,3], ['a','b','c']]]
0đầu ra
print[zip[[1,2,3], ['a','b','c']]]
1Trả về danh sách các danh sách thay vì danh sách các bộ dữ liệu
Có một vấn đề nhỏ với ví dụ trên, vì danh sách danh sách biến thành danh sách bộ dữ liệu. Tuy nhiên, nó có thể được sửa dễ dàng, bạn có thể biến danh sách thành bộ dữ liệu trong cách hiểu danh sách
print[zip[[1,2,3], ['a','b','c']]]
2đầu ra
print[zip[[1,2,3], ['a','b','c']]]
1Zip dài nhất
Tôi đã đề cập rằng,
print[zip[[1,2,3], ['a','b','c']]]
8 sẽ trả về một danh sách có độ dài bằng với các đối số của nó ngắn nhất. Có một hàm rất giống được định nghĩa trong mô-đun print[zip[[1,2,3], ['a','b','c']]]
0, được gọi là print[zip[[1,2,3], ['a','b','c']]]
1, hoạt động chính xác như print[zip[[1,2,3], ['a','b','c']]]
8, nhưng đệm các bộ dữ liệu kết quả theo độ dài của đối số dài nhất của nóprint[zip[[1,2,3], ['a','b','c']]]
4đầu ra
print[zip[[1,2,3], ['a','b','c']]]
5Bạn cũng có thể đặt một giá trị đệm khác thay vì
print[zip[[1,2,3], ['a','b','c']]]
3 bằng cách sử dụng đối số từ khóa print[zip[[1,2,3], ['a','b','c']]]
4