Hàm Python nào sau đây được sử dụng để lặp nhiều mảng trong một vòng lặp?
Khi chúng ta xử lý các mảng nhiều chiều trong numpy, chúng ta có thể làm điều này bằng cách sử dụng vòng lặp Show
Nếu chúng ta lặp trên mảng 1-D, nó sẽ đi qua từng phần tử một Thí dụLặp lại các phần tử của mảng 1-D sau nhập numpy dưới dạng np mảng = np. mảng([1, 2, 3]) cho x trong mảng Lặp lại mảng 2-DTrong mảng 2 chiều, nó sẽ đi qua tất cả các hàng Thí dụLặp lại các phần tử của mảng 2 chiều sau nhập numpy dưới dạng np mảng = np. mảng([[1, 2, 3], [4, 5, 6]]) cho x trong mảng Nếu chúng ta lặp lại trên một mảng n-D, nó sẽ lần lượt đi qua chiều thứ n-1 Để trả về các giá trị thực, các đại lượng vô hướng, chúng ta phải lặp lại các mảng theo từng chiều Thí dụLặp lại trên từng phần tử vô hướng của mảng 2 chiều nhập numpy dưới dạng np mảng = np. mảng([[1, 2, 3], [4, 5, 6]]) cho x trong mảng Lặp lại mảng 3-DTrong mảng 3-D, nó sẽ đi qua tất cả các mảng 2-D Thí dụLặp lại các phần tử của mảng 3-D sau nhập numpy dưới dạng np mảng = np. mảng([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) cho x trong mảng Để trả về các giá trị thực, các đại lượng vô hướng, chúng ta phải lặp lại các mảng theo từng chiều Thí dụLặp lại đến vô hướng nhập numpy dưới dạng np mảng = np. mảng([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) cho x trong mảng Lặp lại mảng sử dụng nditer()Hàm Lặp lại trên mỗi phần tử vô hướngTrong các vòng lặp Thí dụLặp qua mảng 3-D sau nhập numpy dưới dạng np mảng = np. mảng([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) cho x trong np. tiếng ồn ào (arr) Lặp lại mảng với các kiểu dữ liệu khác nhauChúng ta có thể sử dụng đối số NumPy không thay đổi kiểu dữ liệu của phần tử tại chỗ (trong đó phần tử nằm trong mảng) vì vậy nó cần một số không gian khác để thực hiện hành động này, không gian bổ sung đó được gọi là bộ đệm và để kích hoạt nó trong Thí dụLặp lại mảng dưới dạng chuỗi nhập numpy dưới dạng np mảng = np. mảng([1, 2, 3]) cho x trong np. nditer(arr, flags=['buffered'], op_dtypes=['S']) Lặp lại với kích thước bước khác nhauChúng tôi có thể sử dụng lọc và tiếp theo là lặp lại Thí dụLặp qua mọi phần tử vô hướng của mảng 2D bỏ qua 1 phần tử nhập numpy dưới dạng np mảng = np. mảng([[1, 2, 3, 4], [5, 6, 7, 8]]) cho x trong np. tiếng ồn ào (mảng [. ,. 2]) Phép lặp liệt kê Sử dụng ndenumerate()Liệt kê có nghĩa là đề cập đến số thứ tự của thứ gì đó từng cái một Đôi khi chúng tôi yêu cầu chỉ mục tương ứng của phần tử trong khi lặp lại, phương thức Trong Python và tất cả các ngôn ngữ lập trình, chúng ta có thể sử dụng các vòng lặp 4 và 5 để lặp lại các mảng. Lặp lại trên một mảng rất đơn giản. Tuy nhiên, khi lặp lại nhiều mảng với nhau, mọi thứ bắt đầu trở nên phức tạp. Nếu kích thước của tất cả các mảng là như nhau, thì đó là một công việc đơn giản. Nhưng nếu kích thước mảng khác nhau, chúng tôi phải đảm bảo rằng chúng tôi chỉ xem xét độ dài của mảng nhỏ nhất để tránh lỗi và ngoại lệPython làm cho nhiệm vụ này dễ dàng hơn rất nhiều. Thay vì viết logic theo cách thủ công để lặp qua các mảng có kích thước khác nhau, chúng ta có thể sử dụng một tiện ích tích hợp sẵn, chính xác hơn là một hàm do Python cung cấp. Chức năng này là chức năng 6Bài viết này sẽ giới thiệu về hàm 6 và cách sử dụng nóHàm class Number: def __init__(self, number): self.number = number def square(self): return number ** 2 def __repr__(self): return f"Number({self.number})" a = (11, 22, 33, 44, 55) b = [1.1, 2.2, 3.3, 4.4, 5.5] c = [Number(1), Number(23), Number(44.44), Number(0), Number(-9)] d = "Hello" result = zip(a, b, c, d) for x in result: print(x) 6 trong PythonHàm 6 chấp nhận các đối tượng có thể lặp lại như danh sách, chuỗi và bộ dữ liệu làm đối số và trả về một đối tượng có thể lặp lạiĐối tượng có thể lặp lại được trả về có độ dài của các lần lặp lại nhỏ nhất. Ví dụ: nếu hai danh sách có kích thước 0 và 1 được cung cấp cho hàm 6, thì đối tượng có thể lặp lại được trả về sẽ có độ dài là 0. Điều này có nghĩa là chỉ các phần tử 0 đầu tiên của danh sách thứ hai sẽ là một phần của đối tượng có thể lặp lại. Nếu một đối tượng có thể lặp lại trống hoặc không có đối tượng có thể lặp lại nào được cung cấp cho hàm này, thì nó cũng trả về một đối tượng có thể lặp lại trốngBây giờ chúng ta đã hoàn thành phần lý thuyết, hãy xem cách sử dụng chức năng này. Tham khảo các ví dụ sau để hiểu cách sử dụng của nó Không có đối tượng có thể lặp lạiTrong đoạn mã Python sau, không có đối tượng có thể lặp lại nào được chuyển đến hàm 6
Sẽ không có gì được in trên bàn điều khiển khi chúng tôi thực thi đoạn mã trên. Lý do đằng sau rất đơn giản; . Do đó, một đối tượng lặp trống được trả về Các đối tượng có thể lặp lại có cùng độ dàiTrong đoạn mã Python sau, một bộ số nguyên, danh sách giá trị động, danh sách đối tượng lớp và chuỗi có độ dài bằng nhau sẽ được chuyển đến hàm 6
đầu ra
Như chúng ta có thể thấy, hàm 6 lưu trữ các giá trị trên tất cả các đối tượng có thể lặp lại với nhau trong các bộ dữ liệu. Thứ tự của các giá trị bên trong các bộ dữ liệu giống như thứ tự mà các đối tượng có thể lặp lại của chúng được cung cấp cho hàm 6Chúng tôi có thể hủy cấu trúc hoặc giải nén các giá trị này trong vòng lặp 4 để dễ dàng truy cập. Tham khảo mã sau đây cho cùng
đầu ra
Thay vì sử dụng vòng lặp 4, chúng ta cũng có thể lặp lại trên một đối tượng có thể lặp lại bằng cách sử dụng vòng lặp 5. Với 5 vòng lặp, chúng tôi sẽ yêu cầu thêm hai thứ, hàm 3 và khối 4. Hàm 3 sẽ được sử dụng để lấy các giá trị ra khỏi đối tượng có thể lặp được trả về bởi hàm 6 và khối 7 sẽ được sử dụng để dừng quá trình lặp. Tham khảo mã Python sau đây cho cùng
đầu ra
Khi không có giá trị nào bên trong một trình vòng lặp, nó sẽ tạo ra một ngoại lệ 8. Sử dụng khối 4, chúng tôi bắt ngoại lệ này và thoát khỏi vòng lặp vô hạn 5Các đối tượng có thể lặp lại có độ dài khác nhauTrong đoạn mã Python sau, một bộ số nguyên, danh sách giá trị động, danh sách đối tượng lớp và chuỗi có độ dài khác nhau sẽ được chuyển đến hàm 6
đầu ra
Tất cả các đối tượng có thể lặp lại có độ dài khác nhau. Đối tượng có thể lặp lại đầu tiên hoặc bộ số nguyên có độ dài nhỏ nhất, 2. Do đó, đầu ra chỉ in các giá trị 2 đầu tiên từ tất cả các đối tượng có thể lặp lạiTạo từ điểnChúng ta có thể tạo từ điển các cặp khóa-giá trị với sự trợ giúp của hàm 6. Ý tưởng là tạo một trình vòng lặp gồm hai mảng có cùng độ dài, chứa các khóa và giá trị tương ứng của chúng, đồng thời ánh xạ chúng với nhau trong từ điển trong khi lặp qua đối tượng có thể lặp lại được trả về. Tham khảo mã sau đây cho cùng
đầu ra 0Đoạn mã trên chỉ sử dụng mô-đun 5 để làm đẹp đầu ra của từ điển. Lưu ý rằng việc sử dụng nó là hoàn toàn tùy chọnSử dụng Hàm class Number: def __init__(self, number): self.number = number def square(self): return number ** 2 def __repr__(self): return f"Number({self.number})" a = (11, 22, 33, 44, 55) b = [1.1, 2.2, 3.3, 4.4, 5.5] c = [Number(1), Number(23), Number(44.44), Number(0), Number(-9)] d = "Hello" result = zip(a, b, c, d) for x in result: print(x) 6 Cùng với Hàm A: 11 B: 1.1 C: Number(1) D: H A: 22 B: 2.2 C: Number(23) D: e A: 33 B: 3.3 C: Number(44.44) D: l A: 44 B: 4.4 C: Number(0) D: l A: 55 B: 5.5 C: Number(-9) D: o 7Hàm 7 được sử dụng để lấy chỉ mục và giá trị cùng lúc trong khi lặp qua một đối tượng có thể lặp lại. Vì hàm 6 trả về một trình vòng lặp, nên chúng ta có thể ghép hai hàm lại với nhau và có quyền truy cập vào các chỉ mục và giá trị. Tham khảo mã Python sau đây cho cùng 1đầu ra 2Trong mã Python ở trên, bên trong vòng lặp 4, 1 giải nén các giá trị do hàm 7 trả về và 3 giải nén các giá trị do hàm 6 trả về
Hàm Python nào được sử dụng để lặp nhiều mảng trong một vòng lặp?Lặp lại nhiều danh sách cùng một lúc
. zip() . Trong Python 3, zip trả về một trình vòng lặp. zip() dừng khi bất kỳ ai trong danh sách hết danh sách.
Vòng lặp nào được sử dụng để lặp qua mảng?Cái cho. vòng lặp trong JavaScript cho phép bạn lặp lại các đối tượng có thể lặp lại (mảng, tập hợp, bản đồ, chuỗi, v.v.).
Vòng lặp nào trong Python được sử dụng cho kiểu lặp nào?Vòng lặp for được sử dụng để lặp qua một chuỗi (đó là danh sách, bộ, từ điển, tập hợp hoặc chuỗi) . Điều này ít giống với từ khóa for trong các ngôn ngữ lập trình khác và hoạt động giống một phương thức lặp hơn như được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng khác.
Cái gì được sử dụng để lặp qua một mảng trong Python?Bạn có thể sử dụng vòng lặp for in để lặp qua tất cả các phần tử của một mảng. |