Ký hiệu khung danh sách Python
Vào cuối bài học trước, chúng tôi nhận thấy rằng 3 đã cung cấp cho chúng tôi một cấu trúc dữ liệu mới. một danh sách. Danh sách là một tập hợp các đối tượng được bao quanh bởi một tập hợp các dấu ngoặc vuông ( 4) Show
Lưu ý rằng một danh sách có thể chứa bất kỳ loại mục nào, kể cả các danh sách khác
Chúng tôi có thể nhận được các phần khác nhau của danh sách thông qua lập chỉ mục. Chúng tôi thêm một bộ dấu ngoặc vuông sau danh sách được đề cập cùng với chỉ mục của các giá trị mà chúng tôi muốn. Lưu ý rằng trong Python, tất cả các chỉ số bắt đầu từ 0 — phần tử đầu tiên thực sự là phần tử thứ 0 (điều này khác với các ngôn ngữ như R hoặc MATLAB). Cách tốt nhất để nghĩ về các chỉ số mảng là chúng là số phần bù từ vị trí đầu tiên — phần tử đầu tiên không yêu cầu phần bù để đến Một vài ví dụ về điều này trong hành động
Lưu ý rằng chúng ta có thể lập chỉ mục một phạm vi bằng cách sử dụng toán tử dấu hai chấm ( 5). Bản thân dấu hai chấm có nghĩa là lấy mọi thứ
Dấu hai chấm ở bên phải của chỉ mục có nghĩa là mọi thứ sau chỉ mục đã chỉ định 1 2Dấu hai chấm ở bên trái của chỉ mục có nghĩa là mọi thứ trước đó, nhưng không bao gồm, chỉ mục 0 1Và nếu chúng ta sử dụng chỉ số âm, điều đó có nghĩa là lấy các phần tử từ cuối, đi ngược lại 2 3Lưu ý rằng chúng ta có thể sử dụng chỉ mục nhiều lần để lấy thông tin từ các đối tượng lồng nhau 4 5Nếu chúng tôi lập chỉ mục ngoài phạm vi, đó là một lỗi 6 7Chúng ta cũng có thể cộng hai danh sách lại với nhau để tạo danh sách lớn hơn 8 9Danh sách dưới dạng đối tượngGiống như các đối tượng khác trong Python, danh sách có một hành vi độc đáo có thể khiến nhiều người mất cảnh giác. Điều gì xảy ra khi chúng ta chạy đoạn mã sau? 0 1Sửa đổi 6 cũng thực sự sửa đổi 7. Trong Python, danh sách là đối tượng. Các đối tượng không được sao chép khi chúng ta gán chúng cho một giá trị mới (như trong R). Đây là một tối ưu hóa quan trọng, vì chúng tôi sẽ không vô tình lấp đầy tất cả bộ nhớ của máy tính bằng cách đổi tên một biến một vài lần. Khi chúng tôi chạy 8, nó chỉ tạo một tên mới cho 7. 7 vẫn chỉ vào cùng một đối tượng bên dướiChúng ta có thể xác minh điều này bằng hàm 1. 1 in mã định danh duy nhất của đối tượng. Hai đối tượng sẽ không có cùng ID trừ khi chúng là cùng một đối tượng 2 3Để tạo 6 như một bản sao duy nhất của 7. Chúng ta phải sử dụng phương pháp 5 4 5 5 là một phương pháp. Các phương thức là các chức năng đặc biệt được liên kết với một đối tượng và xác định những gì nó có thể làm. Chúng luôn tuân theo cú pháp 7 và có số lượng đối số được xác định trước chủ yếu với các giá trị mặc định. Chúng tôi cũng có thể chỉ định một tập hợp con của các đối số, e. g. 8Các phương pháp danh sách thường được sử dụng khác bao gồm 9 6 7 8 9Và 0 (kết hợp hai danh sách, thay vì thêm danh sách thứ hai làm phần tử) 0 1Và tất nhiên, 1 và 2 (cả hai đều làm chính xác những gì bạn nghĩ họ nên làm) 2 3
Lặp qua danh sáchChúng tôi sẽ rất thường xuyên muốn lặp lại các danh sách và thực hiện một thao tác với mọi phần tử. Chúng tôi làm điều này bằng cách sử dụng vòng lặp for Một vòng lặp for thường trông giống như sau 4Một ví dụ về vòng lặp for thực sự hoạt động được hiển thị bên dưới 5 6Trong trường hợp này, chúng tôi đang lặp lại các giá trị được cung cấp bởi 3. 3 là một hàm tạo đặc biệt mà chúng ta có thể sử dụng để cung cấp một chuỗi sốChúng tôi cũng có thể lặp qua một danh sách hoặc bất kỳ tập hợp các phần tử nào 7 8Các hoạt động được vector hóa với NumpyNumpy là một thư viện số được thiết kế để làm việc với các số dễ dàng hơn so với cách khác Ví dụ: giả sử chúng tôi có một danh sách hàng nghìn số. Không có cách nào để làm toán vectơ mà không lặp qua tất cả các phần tử 9 0đó là rất nhiều việc. Numpy cho phép chúng tôi thực hiện các phép toán vectơ như trong R, giúp chúng tôi tiết kiệm rất nhiều công sức. Hàm cơ bản nhất là 5 tạo một mảng số từ danh sách. Một mảng numpy là một tập hợp các số có thể có bất kỳ số thứ nguyên nào. Trong trường hợp này, chỉ có một chiều, vì chúng ta đã tạo mảng từ danh sách 1 2Một điều rất hay về Numpy là nó hoạt động hiệu quả hơn nhiều so với các danh sách Python thông thường. Một thủ thuật hay mà chúng ta có thể sử dụng với IPython để đo thời gian thực hiện là hàm ma thuật 6. Bất cứ thứ gì sau 6 đều được đo tốc độ. Thêm 8 vào lệnh 9 thay vì 10 có nghĩa là 9 được chạy trên toàn bộ ô, không chỉ một dòng. Lưu ý rằng 12 phải nằm trên dòng đầu tiên của ô IPython/Jupyter để nó hoạt động, trong khi lệnh 6 có thể được sử dụng ở mọi nơiSử dụng danh sách của Python 3 4sử dụng numpy 5 6Numpy nhanh hơn khoảng 100 lần, đến _______ 56 đã đề cập rằng Numpy có thể gian lận một chút. Tuy nhiên, ngay cả trong trường hợp xấu nhất của Numpy, nó vẫn chạy nhanh hơn gấp 5 lần so với sử dụng danh sách cơ bản của Python Làm việc với nhiều chiềuĐôi khi, bạn sẽ gặp một tập dữ liệu có nhiều thứ nguyên và sẽ cần có khả năng truy xuất các phần tử từ tập dữ liệu đó như vậy 7 8Trong trường hợp này, chúng ta phải lập chỉ mục bằng cách sử dụng nhiều chỉ mục, được phân tách bằng dấu phẩy Để lấy phần tử đầu tiên, chúng tôi sẽ sử dụng 15 9 0Chỉ mục đầu tiên tương ứng với hàng, chỉ mục thứ hai tương ứng với cột và chỉ mục thứ ba tương ứng với kích thước tiếp theo… [Python cũng cho phép bạn lập chỉ mục từ cuối danh sách bằng cách sử dụng số âm, trong đó [-1] trả về phần tử cuối cùng . Điều này cực kỳ hữu ích vì nó có nghĩa là bạn không cần phải lập trình tìm ra độ dài của lần lặp để làm việc với các phần tử ở cuối nó.
Loại dấu ngoặc nào cho danh sách trong Python?Trong Python, danh sách là tập hợp các mục được sắp xếp theo thứ tự cho phép dễ dàng sử dụng một tập hợp dữ liệu. Giá trị danh sách được đặt ở giữa dấu ngoặc vuông [ ] , được phân tách bằng dấu phẩy. Bạn nên đặt dấu cách giữa dấu phẩy và giá trị tiếp theo.
ý nghĩa của danh sách [. trong Python?Bộ sưu tập Python (Mảng)
. Danh sách là bộ sưu tập được sắp xếp theo thứ tự và có thể thay đổi . Cho phép các thành viên trùng lặp. Tuple là một bộ sưu tập được sắp xếp và không thể thay đổi. Cho phép các thành viên trùng lặp.
Dấu ngoặc {} có nghĩa là gì trong Python?() dấu ngoặc đơn được sử dụng cho thứ tự thực hiện hoặc thứ tự đánh giá và được gọi là bộ dữ liệu. Dấu ngoặc [] được sử dụng cho danh sách. Nội dung danh sách có thể được thay đổi, không giống như nội dung tuple. {} được dùng để định nghĩa một từ điển trong một "danh sách" được gọi là chữ . |