Chúng ta có thể triển khai cấu trúc dữ liệu trong python không
Sau khi đọc hướng dẫn này, bạn sẽ biết những cấu trúc dữ liệu nào tồn tại trong Python, khi nào áp dụng chúng cũng như ưu và nhược điểm của chúng. Chúng ta sẽ nói về cấu trúc dữ liệu nói chung, sau đó đi sâu hơn vào cấu trúc dữ liệu Python. danh sách, từ điển, bộ và bộ Show Cấu trúc dữ liệu là gì?Cấu trúc dữ liệu là cách tổ chức dữ liệu trong bộ nhớ máy tính, được triển khai bằng ngôn ngữ lập trình. Cần có tổ chức này để lưu trữ, truy xuất và sửa đổi dữ liệu hiệu quả. Đây là một khái niệm cơ bản vì cấu trúc dữ liệu là một trong những khối xây dựng chính của bất kỳ phần mềm hiện đại nào. Tìm hiểu cấu trúc dữ liệu nào tồn tại và cách sử dụng chúng hiệu quả trong các tình huống khác nhau là một trong những bước đầu tiên để học bất kỳ ngôn ngữ lập trình nào. Cấu trúc dữ liệu trong PythonCấu trúc dữ liệu tích hợp trong Python có thể được chia thành hai loại lớn. có thể thay đổi và bất biến. Cấu trúc dữ liệu có thể thay đổi (từ tiếng Latinh mutabilis, "có thể thay đổi") là những cấu trúc mà chúng ta có thể sửa đổi — ví dụ: bằng cách thêm, xóa hoặc thay đổi các phần tử của chúng. Python có ba cấu trúc dữ liệu có thể thay đổi. danh sách, từ điển và bộ. Mặt khác, cấu trúc dữ liệu bất biến là những cấu trúc mà chúng ta không thể sửa đổi sau khi tạo. Cấu trúc dữ liệu bất biến tích hợp cơ bản duy nhất trong Python là một bộ dữ liệu Python cũng có một số cấu trúc dữ liệu nâng cao, chẳng hạn như ngăn xếp hoặc hàng đợi, có thể được triển khai với cấu trúc dữ liệu cơ bản. Tuy nhiên, chúng hiếm khi được sử dụng trong khoa học dữ liệu và phổ biến hơn trong lĩnh vực công nghệ phần mềm và triển khai các thuật toán phức tạp, vì vậy chúng tôi sẽ không thảo luận về chúng trong hướng dẫn này Các gói bên thứ ba Python khác nhau triển khai cấu trúc dữ liệu của riêng chúng, như DataFrames và Series trong 8 hoặc mảng trong 9. Tuy nhiên, chúng tôi cũng sẽ không nói về chúng ở đây vì đây là chủ đề của các hướng dẫn cụ thể hơn (chẳng hạn như Cách tạo và sử dụng Khung dữ liệu Pandas hoặc Hướng dẫn NumPy. Phân tích dữ liệu với Python)Hãy bắt đầu với cấu trúc dữ liệu có thể thay đổi. danh sách, từ điển và bộ danh sáchCác danh sách trong Python được triển khai dưới dạng các mảng có thể thay đổi động chứa một bộ sưu tập các mục được sắp xếp theo thứ tự Đầu tiên, trong nhiều ngôn ngữ lập trình, mảng là cấu trúc dữ liệu chứa tập hợp các phần tử có cùng kiểu dữ liệu (ví dụ: tất cả các phần tử đều là số nguyên). Tuy nhiên, trong Python, danh sách có thể chứa các kiểu dữ liệu và đối tượng không đồng nhất. Chẳng hạn, các số nguyên, chuỗi và thậm chí các hàm có thể được lưu trữ trong cùng một danh sách. Các phần tử khác nhau của danh sách có thể được truy cập bằng các chỉ số nguyên trong đó phần tử đầu tiên của danh sách có chỉ số là 0. Thuộc tính này xuất phát từ thực tế là trong Python, các danh sách được sắp xếp theo thứ tự, nghĩa là chúng giữ nguyên thứ tự mà bạn chèn các phần tử vào danh sách Tiếp theo, chúng ta có thể thêm, bớt, thay đổi tùy ý các thành phần trong danh sách. Chẳng hạn, phương thức 0 thêm phần tử mới vào danh sách và phương thức 1 xóa phần tử khỏi danh sách. Hơn nữa, bằng cách truy cập phần tử của danh sách theo chỉ mục, chúng ta có thể thay đổi nó thành phần tử khác. Để biết thêm chi tiết về các phương pháp danh sách khác nhau, vui lòng tham khảo tài liệuCuối cùng, khi tạo một danh sách, chúng ta không cần phải xác định trước số phần tử mà nó sẽ chứa; Danh sách rất hữu ích khi chúng ta muốn lưu trữ một tập hợp các loại dữ liệu khác nhau và sau đó thêm, xóa hoặc thực hiện các thao tác trên từng thành phần của danh sách (bằng cách lặp qua chúng). Hơn nữa, danh sách rất hữu ích để lưu trữ các cấu trúc dữ liệu khác (và thậm chí cả các danh sách khác) bằng cách tạo, ví dụ, danh sách từ điển, bộ dữ liệu hoặc danh sách. Rất phổ biến để lưu trữ một bảng dưới dạng danh sách các danh sách (trong đó mỗi danh sách bên trong đại diện cho một cột của bảng) để phân tích dữ liệu tiếp theo Vì vậy, ưu điểm của danh sách là
Tuy nhiên, chúng cũng có khuyết điểm
ví dụCuối cùng, chúng ta hãy xem một vài ví dụ Chúng ta có thể tạo danh sách bằng cách sử dụng dấu ngoặc vuông ( 2) không có hoặc nhiều phần tử giữa chúng, được phân tách bằng dấu phẩy hoặc hàm tạo 3. Cái sau cũng có thể được sử dụng để chuyển đổi một số cấu trúc dữ liệu khác thành danh sách
Chúng ta có thể truy cập các phần tử của danh sách bằng cách sử dụng các chỉ số, trong đó phần tử đầu tiên của danh sách có chỉ số là 0
Chúng ta cũng có thể cắt danh sách và truy cập đồng thời nhiều phần tử Có thể bạn quan tâm
1Lưu ý rằng chúng tôi không phải chỉ định chỉ mục của phần tử cuối cùng mà chúng tôi muốn truy cập nếu chúng tôi muốn tất cả các phần tử từ chỉ mục 2 (bao gồm) đến cuối danh sách. Nói chung, việc cắt danh sách hoạt động như sau
Hãy thể hiện hành vi này với một ví dụ 2____13Lưu ý rằng chỉ mục cuối cùng mà chúng tôi đã chỉ định là 3, không phải 2, mặc dù chúng tôi muốn truy cập phần tử trong chỉ mục 2. Vì vậy, chỉ mục cuối cùng chúng tôi viết không được bao gồm Bạn có thể thử nghiệm với các chỉ số khác nhau và danh sách lớn hơn để hiểu cách lập chỉ mục hoạt động Bây giờ hãy chứng minh rằng danh sách có thể thay đổi. Ví dụ: chúng ta có thể 4 phần tử mới vào danh sách hoặc 5 phần tử cụ thể từ danh sách đó 6 7Ngoài ra, chúng ta có thể sửa đổi các phần tử đã có trong danh sách bằng cách truy cập chỉ mục được yêu cầu và gán giá trị mới cho chỉ mục đó 0____71Tất nhiên, chúng tôi mới chỉ vạch ra bề nổi của những gì có thể với danh sách Python. Bạn có thể tìm hiểu thêm từ khóa học này hoặc xem tài liệu về Python từ điểnTừ điển trong Python rất giống với từ điển trong thế giới thực. Đây là những cấu trúc dữ liệu có thể thay đổi có chứa một tập hợp các khóa và, được liên kết với chúng, các giá trị. Cấu trúc này làm cho chúng rất giống với từ điển định nghĩa từ. Ví dụ: từ điển từ (khóa của chúng tôi) được liên kết với định nghĩa (giá trị) của nó trong từ điển trực tuyến Oxford. một cuốn sách hoặc tài nguyên điện tử cung cấp danh sách các từ của một ngôn ngữ theo thứ tự bảng chữ cái và giải thích ý nghĩa của chúng hoặc đưa ra một từ cho chúng bằng tiếng nước ngoài Từ điển được sử dụng để truy cập nhanh một số dữ liệu nhất định được liên kết với một khóa duy nhất. Tính duy nhất là điều cần thiết, vì chúng ta chỉ cần truy cập một số phần thông tin nhất định và không nhầm lẫn nó với các mục nhập khác. Hãy tưởng tượng chúng ta muốn đọc định nghĩa về Khoa học dữ liệu, nhưng một cuốn từ điển chuyển hướng chúng ta đến hai trang khác nhau. cái nào là cái đúng? 2Chúng tôi sử dụng từ điển khi chúng tôi có thể liên kết (về mặt kỹ thuật, ánh xạ) một khóa duy nhất cho một số dữ liệu nhất định và chúng tôi muốn truy cập dữ liệu đó thật nhanh (trong thời gian không đổi, bất kể kích thước từ điển). Hơn nữa, các giá trị từ điển có thể khá phức tạp. Ví dụ: khóa của chúng tôi có thể là tên khách hàng và dữ liệu cá nhân (giá trị) của họ có thể là từ điển với các khóa như "Tuổi", "Quê quán", v.v. Như vậy, ưu điểm của từ điển là
Tuy nhiên, nhược điểm của chúng là
ví dụBây giờ chúng ta hãy xem một vài ví dụ. Đầu tiên, chúng ta có thể tạo một dictionary với dấu ngoặc nhọn ( 7) hoặc hàm tạo 8 3____74Bây giờ hãy truy cập một phần tử trong từ điển. Chúng ta có thể làm điều này với phương pháp tương tự như danh sách 5 6Tiếp theo, chúng tôi cũng có thể sửa đổi từ điển — ví dụ: bằng cách thêm các cặp 6 mới 7____78Như chúng ta có thể thấy, một khóa mới, "Violet", đã được thêm vào Cũng có thể xóa các phần tử khỏi từ điển, vì vậy hãy tìm cách thực hiện việc này bằng cách đọc tài liệu. Hơn nữa, bạn có thể đọc hướng dẫn chuyên sâu hơn về từ điển Python (với rất nhiều ví dụ) hoặc xem bài học về từ điển của DataQuest bộCác bộ trong Python có thể được định nghĩa là các bộ sưu tập động có thể thay đổi của các phần tử duy nhất không thể thay đổi. Các phần tử chứa trong một tập hợp phải là bất biến. Bộ có vẻ rất giống với danh sách, nhưng trên thực tế, chúng rất khác nhau Đầu tiên, chúng chỉ có thể chứa các phần tử duy nhất, vì vậy không được phép trùng lặp. Do đó, các bộ có thể được sử dụng để loại bỏ các bản sao khỏi danh sách. Tiếp theo, giống như các tập hợp trong toán học, chúng có các phép toán duy nhất có thể áp dụng cho chúng, chẳng hạn như hợp tập hợp, giao điểm, v.v. Cuối cùng, chúng rất hiệu quả trong việc kiểm tra xem một phần tử cụ thể có được chứa trong một tập hợp hay không. Vì vậy, ưu điểm của tập hợp là
Nhưng khuyết điểm của họ là
ví dụĐể tạo một tập hợp, chúng ta có thể sử dụng dấu ngoặc nhọn (______27) hoặc hàm tạo 11. Đừng nhầm bộ với từ điển (cũng sử dụng dấu ngoặc nhọn), vì bộ không chứa cặp 6. Tuy nhiên, xin lưu ý rằng giống như với các khóa từ điển, chỉ các loại hoặc cấu trúc dữ liệu bất biến mới được phép làm phần tử tập hợp. Lần này, hãy trực tiếp tạo các tập hợp đã điền 9 0Trong ví dụ thứ hai, chúng tôi đã sử dụng một lần lặp (chẳng hạn như danh sách) để tạo một tập hợp. Tuy nhiên, nếu chúng ta sử dụng danh sách làm phần tử tập hợp, Python sẽ báo lỗi. Tại sao bạn nghĩ rằng nó xảy ra? . đọc định nghĩa tập hợp Để thực hành, bạn có thể thử sử dụng các cấu trúc dữ liệu khác để tạo tập hợp Như với các đối tác toán học của chúng, chúng ta có thể thực hiện một số thao tác nhất định trên các tập hợp của mình. Ví dụ: chúng ta có thể tạo một tập hợp các tập hợp, về cơ bản có nghĩa là hợp nhất hai tập hợp lại với nhau. Tuy nhiên, nếu hai tập hợp có hai hoặc nhiều giá trị giống hệt nhau, thì tập hợp kết quả sẽ chỉ chứa một trong các giá trị này. Có hai cách để tạo liên minh. bằng phương pháp 13 hoặc bằng toán tử thanh dọc ( 14). Hãy làm một ví dụ 1 2Trong phép hợp trên, chúng ta có thể thấy rằng 15 và 16 chỉ xuất hiện một lần, mặc dù chúng ta đã hợp nhất hai bộTiếp theo, chúng tôi cũng có thể muốn tìm ra tên nào xuất hiện trong cả hai bộ. Điều này có thể được thực hiện bằng phương thức 17 hoặc toán tử dấu và ( 18) 3 4 16 và 15 xuất hiện trong cả hai bộ; Ví dụ cuối cùng về hoạt động tập hợp là sự khác biệt giữa hai tập hợp. Nói cách khác, thao tác này sẽ trả về tất cả các phần tử có trong tập hợp đầu tiên, nhưng không có trong tập hợp thứ hai. Chúng ta có thể sử dụng phương pháp 21 hoặc dấu trừ ( 22) 5 6Điều gì sẽ xảy ra nếu bạn hoán đổi vị trí của các bộ? Có các hoạt động khác có thể được sử dụng trong bộ. Để biết thêm thông tin, hãy tham khảo hướng dẫn này hoặc tài liệu Python Cuối cùng, như một phần thưởng, hãy so sánh tốc độ sử dụng các tập hợp, khi so sánh với các danh sách, để kiểm tra sự tồn tại của một phần tử bên trong chúng 7 8Rõ ràng là sử dụng bộ nhanh hơn đáng kể so với sử dụng danh sách. Sự khác biệt này sẽ tăng lên đối với các tập hợp và danh sách lớn hơn bộ dữ liệuCác bộ dữ liệu gần giống với danh sách, vì vậy chúng chứa một tập hợp các phần tử được sắp xếp theo thứ tự, ngoại trừ một thuộc tính. chúng là bất biến. Chúng tôi sẽ sử dụng các bộ dữ liệu nếu chúng tôi cần một cấu trúc dữ liệu mà sau khi được tạo thì không thể sửa đổi được nữa. Hơn nữa, các bộ dữ liệu có thể được sử dụng làm khóa từ điển nếu tất cả các phần tử là bất biến Ngoài ra, các bộ dữ liệu có các thuộc tính giống như danh sách. Để tạo một tuple, chúng ta có thể sử dụng dấu ngoặc tròn (______123) hoặc hàm tạo 24. Chúng ta có thể dễ dàng chuyển đổi danh sách thành bộ dữ liệu và ngược lại (nhớ lại rằng chúng ta đã tạo danh sách 25 từ bộ dữ liệu)Ưu điểm của bộ dữ liệu là
Nhược điểm của bộ dữ liệu là
ví dụHãy xem xét một số ví dụ 9 0Có thể tạo bộ dữ liệu từ các cấu trúc dữ liệu khác (i. e. , bộ hay từ điển)? Tuples là bất biến; . Hãy xem điều gì sẽ xảy ra nếu chúng ta cố gắng làm như vậy 1 2Đó là một 26. Các bộ dữ liệu không hỗ trợ gán mục vì chúng không thay đổi. Để giải quyết vấn đề này, chúng ta có thể chuyển đổi bộ dữ liệu này thành một danh sáchTuy nhiên, chúng ta có thể truy cập các phần tử trong một bộ theo chỉ số của chúng, như trong danh sách 3____04Bộ dữ liệu cũng có thể được sử dụng làm khóa từ điển. Ví dụ: chúng tôi có thể lưu trữ các phần tử nhất định và các chỉ số liên tiếp của chúng trong một bộ và gán giá trị cho chúng 5Nếu bạn sử dụng một bộ làm khóa từ điển, thì bộ đó phải chứa các đối tượng không thể thay đổi 6 7Chúng tôi nhận được một 26 nếu bộ dữ liệu/khóa của chúng tôi chứa các đối tượng có thể thay đổi (danh sách trong trường hợp này)kết luậnHãy kết thúc những gì chúng ta đã học được từ hướng dẫn này
Khoa học dữ liệu Python Hướng dẫn Thông tin về các Tác giả Artur SannikovTôi là sinh viên Sinh học phân tử tại Đại học Padua, Ý quan tâm đến tin sinh học và phân tích dữ liệu Tại sao Python không được sử dụng cho cấu trúc dữ liệu?Mức tiêu thụ bộ nhớ . Đối với bất kỳ tác vụ cần nhiều bộ nhớ nào, Python không phải là một lựa chọn tốt. Đó là lý do tại sao nó không được sử dụng cho mục đích đó. Mức tiêu thụ bộ nhớ của Python cũng cao do tính linh hoạt của các kiểu dữ liệu. Truy cập cơ sở dữ liệu. Python là một ngôn ngữ lập trình mạnh mẽ với ít căng thẳng và lo lắng nhất.
Tôi có thể sử dụng Python cho cấu trúc dữ liệu và thuật toán không?Python là ngôn ngữ lập trình hướng đối tượng cấp cao. Đây là ngôn ngữ có mục đích chung được sử dụng trong nhiều ứng dụng như kiểm thử phần mềm, phát triển web, khoa học dữ liệu, học máy, v.v. Cấu trúc dữ liệu và thuật toán là nền tảng của Python .
Tôi có thể thực hành cấu trúc dữ liệu trong Python ở đâu?6 Khóa học tốt nhất để học cấu trúc dữ liệu và thuật toán với Python năm 2022 . Python cho cấu trúc dữ liệu, thuật toán và phỏng vấn. . Thuật toán và cấu trúc dữ liệu trong Python [Khóa học tốt nhất của Udemy]. LeetCode trong Python. 50 câu hỏi phỏng vấn viết mã thuật toán. . Cấu trúc dữ liệu cho các cuộc phỏng vấn viết mã trong Python [Giáo dục] |
Bài Viết Liên Quan
Hướng dẫn dùng sql arrays trong PHP
Mảng Chạy thử, kết quả export của biến $names array ( 0 => An, 1 => Minh, 2 => Long, ) 9 là một loại biến đặc biệt, trong nó giữ nhiều giá trị. Mỗi ...
Python động cơ vật lý 3d
Pymunk là một thư viện vật lý 2d Pythonic dễ sử dụng, có thể được sử dụng bất cứ khi nào bạn cần vật lý vật thể cứng 2d từ Pythonthư viện python ...
Chạy lệnh sudo trong Python
edlentzLập trình viên tên TimBài đăng. 11Chủ đề. 7Đã tham gia. Tháng 10 năm 2017Danh tiếng. 0#112-11-2020, 02. 56 CHTôi có một tập lệnh sẽ chạy một số lệnh ...
Lễ hội kim loại 2023 Đức
Lễ hội Rock Hard đã công bố các tiết mục đầu tiên cho năm 2023. Lễ hội cũng đang kỷ niệm hai ngày kỷ niệm vào năm tớiLễ hội Rock Hard kỷ niệm sinh nhật ...
Ngày bây giờ php mysql
Bất cứ ai làm việc với dữ liệu sẽ gặp phải các giá trị ngày tháng tại một số điểm. Ngày là cần thiết vì nhiều lý do. Nếu bạn là Nhà phát triển ...
Who is playing at the Super Bowl 2023
Mùa bóng đá đã đến và mọi đội đang chiến đấu để có cơ hội cạnh tranh trong trận đấu cuối cùng. Super Bowl LVII, nhưng Rihanna đã đạt được vị trí ...
Xác thực phương thức phản ứng-bootstrap
Đó là nó từ hướng dẫn này. Bạn có thể tiếp tục học hỏi điều này và thay vì chỉ đóng phương thức, bạn có thể thực hiện những việc khác như ...
Định dạng thời gian trong javascript là gì?
Thao tác ngày giờ nổi tiếng là khó. Các nhà phát triển gặp phải quy tắc múi giờ, giây nhảy vọt, sự khác biệt về định dạng dành riêng cho ngôn ngữ nên ...
Chương trình Python để chuyển đổi feet thành mét
Với khoảng cách tính bằng mét hoặc yard, nhiệm vụ ở đây là tạo một chương trình Python chuyển đổi khoảng cách tính bằng mét thành yard và ngược lạiví ...
Game điều khiển với python
Tại đây, một chương trình đơn giản trong Python có thể hiển thị một số khái niệm cơ bản quan trọng trong việc thiết lập máy tính. Chương trình mô phỏng ...
Bạn có thể thao tác css với javascript không?
Khi nói đến việc tạo kiểu cho một số nội dung, cách phổ biến nhất là tạo quy tắc kiểu và để bộ chọn của nó nhắm mục tiêu một phần tử hoặc nhiều ...
Cách lấy dữ liệu từ MongoDB bằng Reacjs
API là viết tắt của Giao diện lập trình ứng dụng. Api web phổ biến nhất được sử dụng là API chuyển trạng thái đại diện hoặc API RESTful. API web được ...
Làm cách nào để nhận các giá trị mảng duy nhất bằng hàm PHP Array_unique?
Tiếp tục đọc để tạo một hệ thống kiểm tra danh tính không cho phép nhiều mục nhập mảng dựa trên các giá trị lặp lạinội dungPHP array_unique là gì?Hàm ...
Cách tìm số lặp lại trong Excel
Nếu bạn có một danh sách dữ liệu trong một trang tính với các giá trị duy nhất và giá trị trùng lặp và bạn không chỉ muốn đếm tần suất của các giá ...
Làm cách nào để sử dụng mã hóa trong Laravel?
Trong dự án của bạn, bạn có thể lưu trữ một số dữ liệu cá nhân hoặc thông tin xác thực nhạy cảm trong cơ sở dữ liệu của mình. Nếu một người không ...
Lệnh nào được sử dụng để hiển thị biểu đồ trong python?
là tập hợp các hàm giúp matplotlib hoạt động giống như MATLAB. Mỗi hàm plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) 8 thực hiện một số thay đổi đối với một hình. e. g. ...
Bán Chevrolet Camaro SS 2023
Hộp số, Số tự động 10 cấp, Gói Rs, Gói Công nghệ, Sọc trùm đầu màu đen sa tanh với Dấu băm đỏ, Bộ kẹp phanh, Sơn đỏ, Gói đai ốc và khóa bánh xe màu ...
Fiscal year 2023 Calendar Excel
Microsoft Excel là một nơi tuyệt vời để tạo lịch, vì nó rất dễ truy cập và rất dễ nhập thông tin vàoTrên trang này, bạn sẽ tìm thấy một số loại mẫu ...
Số cuộc gọi giả python
Plugin này cài đặt một bộ cố định mô phỏng là một trình bao bọc mỏng xung quanh API vá do gói mô phỏng cung cấp, nhưng với lợi ích là không phải lo lắng ...
Bạn có thể vlookup nhiều cột trên google sheet không?
Có hai khía cạnh đối với việc sử dụng Vlookup với nhiều tiêu chí trong Google Trang tính. Hãy để tôi minh họa tương tự1. Vlookup nhiều tiêu chí từ một cột ...