Liệt kê danh sách 2d Python

- [Người hướng dẫn] Chúng ta sẽ dành một chút thời gian để nói về các chỉ số trong danh sách 2D. Bây giờ bạn có thể thấy trên màn hình chúng tôi có một danh sách chứa năm danh sách bên trong. Vì vậy, chúng đại diện cho các hàng trong lưới của chúng tôi. Và trong mỗi hàng, chúng tôi có một số bộ dữ liệu chứa các cặp tọa độ. Bây giờ, điều quan trọng là bạn phải hiểu sự khác biệt giữa tọa độ Descartes phổ biến hơn mà bạn có thể quen thuộc trong toán học và tọa độ ma trận, nói chung là một phần của toán học cao cấp hơn. Chúng giống nhau, và khác nhau. Vì vậy, trong tọa độ Descartes, chúng ta có trục x và trục y, x biểu thị hướng nằm ngang và y biểu thị hướng dọc. Trong tọa độ ma trận, chúng ta thường sử dụng i và j và i đại diện cho số hàng và j đại diện cho số cột. Vì vậy, j tương đương với tọa độ x, nhưng nó đứng thứ hai trong tọa độ ma trận hoặc tọa độ danh sách 2D. Một điểm khác biệt nữa là trên trục tung, đó là số hàng, khi bạn tăng giá trị, bạn thực sự đang di chuyển xuống ma trận chứ không phải lên. Vì vậy, hãy xem xét một vài ví dụ. Nếu bạn nhìn vào bộ dữ liệu ở 4,2, bạn có thể thấy rằng nó nằm ở hàng số 4 và cột số 2. Và một lần nữa, vì đây là Python, chúng tôi bắt đầu đếm từ số 0 và điều đó sẽ nhất quán trong suốt khóa học và trong toàn bộ Python. Vì vậy, trên thực tế, hàng số 0 là hàng mà chúng ta thường nghĩ là hàng đầu tiên. Vì vậy, một lần nữa, chỉ để nhấn mạnh rằng chúng ta thường sử dụng i và j, i đại diện cho số hàng và j đại diện cho số cột và đây sẽ là trường hợp trong mã của chúng tôi. Được rồi, đây là mã của chúng ta trông như thế nào ở cuối video trước. Và chúng tôi đã tạo một số danh sách 2D và thêm một số mục. Bây giờ chúng ta sẽ xem xét phép lặp. Vì vậy, có hai phương pháp chúng ta sẽ xem xét. Phương pháp đầu tiên song song với phương pháp chúng tôi đã sử dụng cho danh sách 1D, trong đó chúng tôi đã sử dụng từ khóa in và tôi sẽ cho bạn thấy từ khóa đó trông như thế nào, "đối với hàng trong danh sách_2d". Bây giờ ở đây chúng ta sẽ sử dụng một cấu trúc được gọi là vòng lặp for lồng nhau. Chúng tôi thực sự có một vòng lặp trong một vòng lặp. Tôi sẽ nói về điều đó nhiều hơn trong một phút. Đối với mục trong hàng, chúng tôi sẽ in mục đó và chúng tôi sẽ thêm end bằng một chuỗi rỗng. Điều này làm trong Python là nó buộc tất cả các ký tự được xuất trên cùng một dòng. Và sau đó quay lại một mức thụt đầu dòng. Chúng tôi không in gì để buộc đầu ra lên một dòng mới. Bây giờ, tôi sẽ làm rõ những gì đang xảy ra ở đây. Vì vậy, giống như với danh sách 1D, chúng tôi có thứ trong danh sách. Trong trường hợp này, đó là một hàng. Chúng ta sẽ làm gì đó. Đối với mỗi cái đó, chúng ta sẽ tạo một vòng lặp khác. Vì vậy, đây là cho mọi cột trong danh sách đó. Sau đó, chúng tôi sẽ in mục ở vị trí đó, hàng đó, cột đó. Chúng tôi sẽ ở trên cùng một dòng cho đến khi chúng tôi đi đến cuối hàng, trong trường hợp đó, chúng tôi muốn đặt đầu ra trên một dòng mới. Bây giờ tôi sẽ chạy nó. Bốn dòng đầu tiên là từ các bài tập trước mà chúng tôi đã làm. Vì vậy, điều chúng tôi quan tâm là ABC DEF, là đầu ra từ mã mà chúng tôi vừa viết để lặp lại. Vì vậy, đó là một phương pháp. Phương pháp tiếp theo chúng ta sẽ xem xét tương tự như phương pháp thứ hai trong phiên bản danh sách 1D. Chúng ta sẽ sử dụng hàm phạm vi để lặp lại. Vì vậy, chúng tôi làm, "cho row_num". Bây giờ một số người chỉ viết hàng, bạn thường thấy rằng. Tôi thích nói rõ ràng hơn và tôi khuyến khích bạn cũng như vậy. Chúng tôi đang nói về số hàng, chúng tôi không nói về toàn bộ hàng. Vì vậy, đối với số hàng trong phạm vi và chúng tôi sẽ mã hóa giá trị ở đây vì chúng tôi biết kích thước của danh sách 2D của mình. Bạn có thể làm điều đó một cách linh hoạt trong một bối cảnh khác. Bây giờ, phần lồng nhau, "đối với col_num trong phạm vi 3". Được rồi, đây là danh sách cụ thể mà chúng tôi đã tạo giữa các dòng 16 và 21 tại đây. Chúng tôi sẽ in danh sách 2d và đây là nơi các chỉ số này xuất hiện. Vì vậy, chúng tôi đã lấy row_num làm chỉ mục đầu tiên và chúng tôi có col_num làm chỉ mục thứ hai. Và sau đó chúng ta sẽ có cùng một dòng, kết thúc bằng dòng trống, để buộc đầu ra từ dòng đó nằm trên cùng một dòng. Nhưng ở cuối mỗi hàng, chúng tôi muốn buộc đầu ra lên một dòng mới bằng một câu lệnh in trống. Trên thực tế, tôi không muốn chuỗi rỗng trong trường hợp này. Tôi muốn có một khoảng cách giữa các mục của mình, vì vậy tôi sẽ thay đổi điều đó. Hãy chạy nó. Vì vậy, bạn thấy tất cả đầu ra trước đó và sau đó hai dòng cuối cùng hiện có khoảng cách giữa các ký tự của tôi do thay đổi mà tôi đã thực hiện ở đó. Trên thực tế, bạn có thể có bất cứ thứ gì bạn muốn trong đó để phân định. Bạn có thể có một dấu cộng, chỉ để cho vui, vì vậy đó là một phần hữu ích của chức năng in, nếu bạn chưa biết về điều đó. Vì vậy, trong dự án của chúng tôi, chúng tôi sẽ sử dụng phiên bản này từ 41 đến 44, phiên bản thứ hai, sử dụng hàm phạm vi để lặp qua danh sách 2D khá thường xuyên, vì vậy hãy đảm bảo rằng bạn hiểu điều này trước khi chúng tôi tiếp tục. Được rồi, vì vậy tôi sẽ thay đổi nó trở lại một không gian ngay bây giờ. Ví dụ này ở đây, chúng tôi chỉ có một chuỗi trống, vì vậy hãy để tôi chạy lại chuỗi đó để bạn có thể thấy sự khác biệt. Vì vậy, bạn có thể thấy, phiên bản cuối cùng của chúng tôi có khoảng cách giữa chúng, còn phiên bản đầu tiên của chúng tôi thì không, và đó là kết quả của bất kỳ điều gì nằm giữa các trích dẫn này trên dòng 43, đối số kết thúc của câu lệnh in. Vì vậy, cách thứ hai để thực hiện mọi thứ từ dòng 41 đến 44 sẽ rất quan trọng trong tương lai, bởi vì trong dự án của chúng tôi, chúng tôi thường muốn nhắm mục tiêu các vị trí rất cụ thể trong danh sách 2D

Danh sách có thể là Python 2 chiều không?

Python cung cấp nhiều cách để tạo danh sách/mảng 2 chiều . Tuy nhiên, người ta phải biết sự khác biệt giữa những cách này vì chúng có thể tạo ra các phức tạp trong mã mà rất khó để tìm ra.

Làm cách nào để chuyển đổi danh sách thành mảng 2D trong Python?

Cách tiếp cận. .
Nhập gói numpy
Khởi tạo danh sách lồng nhau và sau đó sử dụng numpy. array() để chuyển đổi danh sách thành một mảng và lưu trữ nó trong một đối tượng khác
Hiển thị cả danh sách và mảng NumPy và quan sát sự khác biệt

Mảng 2D trong Python là gì?

Mảng hai chiều là một mảng trong một mảng. Nó là một mảng của các mảng. Trong kiểu mảng này, vị trí của một phần tử dữ liệu được gọi bằng hai chỉ số thay vì một. Vì vậy, nó đại diện cho một bảng với các hàng và dcột dữ liệu