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ộ

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 Python

Cấ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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
8 hoặc mảng trong
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
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ách

Cá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

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
0 thêm phần tử mới vào danh sách và phương thức
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
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ệu

Cuố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à

  • Chúng đại diện cho cách dễ nhất để lưu trữ một bộ sưu tập các đối tượng liên quan
  • Chúng dễ dàng sửa đổi bằng cách loại bỏ, thêm và thay đổi các yếu tố
  • Chúng rất hữu ích để tạo cấu trúc dữ liệu lồng nhau, chẳng hạn như danh sách danh sách/từ điển

Tuy nhiên, chúng cũng có khuyết điểm

  • Chúng có thể khá chậm khi thực hiện các phép tính số học trên các phần tử của chúng. (Để biết tốc độ, hãy sử dụng mảng NumPy. )
  • Họ sử dụng nhiều dung lượng đĩa hơn do triển khai ngầ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 (

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
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
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
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

# Create an empty list using square brackets
l1 = []

# Create a four-element list using square brackets
l2 = [1, 2, "3", 4]  # Note that this lists contains two different data types: integers and strings

# Create an empty list using the list() constructor
l3 = list()

# Create a three-element list from a tuple using the list() constructor
# We will talk about tuples later in the tutorial
l4 = list((1, 2, 3))

# Print out lists
print(f"List l1: {l1}")
print(f"List l2: {l2}")
print(f"List l3: {l3}")
print(f"List l4: {l4}")
List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]

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

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.

Chúng ta cũng có thể cắt danh sách và truy cập đồng thời nhiều phần tử

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
1

Lư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

  1. Mở ngoặc vuông
  2. Viết chỉ mục đầu tiên của phần tử đầu tiên chúng tôi muốn truy cập. Phần tử này sẽ được đưa vào đầu ra. Đặt dấu hai chấm sau chỉ số này
  3. Viết chỉ mục, cộng với một trong những phần tử cuối cùng mà chúng tôi muốn truy cập. Việc thêm 1 ở đây là bắt buộc vì phần tử dưới chỉ mục chúng ta viết sẽ không được đưa vào đầu ra

Hãy thể hiện hành vi này với một ví dụ

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
2____13

Lư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ể

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
4 phần tử mới vào danh sách hoặc
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
5 phần tử cụ thể từ danh sách đó

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
6
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
7

Ngoà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 đó

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
0____71

Tấ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ển

Từ đ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?

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
2

Chú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à

  • Chúng làm cho mã dễ đọc hơn nhiều nếu chúng ta cần tạo các cặp
    # Assign the third and the fourth elements of l2 to a new list
    l5 = l2[2:]
    
    # Print out the resulting list
    print(l5)
    6. Chúng ta cũng có thể làm tương tự với danh sách các danh sách (trong đó danh sách bên trong là các cặp "khóa" và "giá trị"), nhưng điều này có vẻ phức tạp và khó hiểu hơn
  • Chúng ta có thể tra cứu một giá trị nào đó trong từ điển rất nhanh chóng. Thay vào đó, với một danh sách, chúng ta sẽ phải đọc danh sách trước khi nhấn vào phần tử cần thiết. Sự khác biệt này tăng lên đáng kể nếu chúng ta tăng số lượng phần tử

Tuy nhiên, nhược điểm của chúng là

  • Chúng chiếm nhiều không gian. Nếu chúng ta cần xử lý một lượng lớn dữ liệu thì đây không phải là cấu trúc dữ liệu phù hợp nhất
  • Trong Trăn 3. 6. 0 và các phiên bản mới hơn, từ điển ghi nhớ thứ tự chèn phần tử. Hãy ghi nhớ điều đó để tránh các sự cố tương thích khi sử dụng cùng một mã trong các phiên bản Python khác nhau

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 (

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
7) hoặc hàm tạo
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
8

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
3____74

Bâ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

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
5
List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
6

Tiế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

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
6 mới

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
7____78

Như 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à

  • Chúng tôi có thể thực hiện các hoạt động độc đáo (nhưng tương tự) trên chúng
  • Chúng nhanh hơn đáng kể so với danh sách nếu chúng ta muốn kiểm tra xem một phần tử nhất định có được chứa trong một tập hợp hay không

Nhưng khuyết điểm của họ là

  • Các tập hợp về bản chất là không có thứ tự. Nếu chúng tôi quan tâm đến việc giữ thứ tự chèn, chúng không phải là lựa chọn tốt nhất của chúng tôi
  • Chúng tôi không thể thay đổi các thành phần của tập hợp bằng cách lập chỉ mục như chúng tôi có thể làm với danh sách

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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
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
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
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

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
9
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
0

Trong 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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
13 hoặc bằng toán tử thanh dọc (
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
14). Hãy làm một ví dụ

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
1
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
2

Trong phép hợp trên, chúng ta có thể thấy rằng

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
15 và
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
17 hoặc toán tử dấu và (
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
18)

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
3
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
4

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
16 và
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
21 hoặc dấu trừ (
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
22)

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
5
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
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

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
7
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
8

Rõ 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ệu

Cá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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
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
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
25 từ bộ dữ liệu)

Ưu điểm của bộ dữ liệu là

  • Chúng là bất biến, vì vậy một khi được tạo, chúng tôi có thể chắc chắn rằng chúng tôi sẽ không thay đổi nội dung của chúng do nhầm lẫn
  • Chúng có thể được sử dụng làm khóa từ điển nếu tất cả các phần tử của chúng là bất biến

Nhược điểm của bộ dữ liệu là

  • Chúng ta không thể sử dụng chúng khi phải làm việc với các đối tượng có thể thay đổi được;
  • Tuples không thể được sao chép
  • Chúng chiếm nhiều bộ nhớ hơn danh sách

ví dụ

Hãy xem xét một số ví dụ

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
9
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
0

Có 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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
1
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
2

Đó là một

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
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ách

Tuy 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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
3____04

Bộ 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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
5

Nế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

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
6
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
7

Chúng tôi nhận được một

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
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ận

Hãy kết thúc những gì chúng ta đã học được từ hướng dẫn này

  • Cấu trúc dữ liệu là một khái niệm cơ bản trong lập trình, cần thiết để dễ dàng lưu trữ và truy xuất dữ liệu
  • Python có bốn cấu trúc dữ liệu chính được phân chia giữa các loại có thể thay đổi (danh sách, từ điển và bộ) và bất biến (bộ dữ liệu)
  • Danh sách rất hữu ích để chứa một bộ sưu tập không đồng nhất các đối tượng liên quan
  • Chúng tôi cần từ điển bất cứ khi nào chúng tôi cần liên kết khóa với giá trị và truy cập nhanh một số dữ liệu bằng khóa, giống như trong từ điển trong thế giới thực
  • Các tập hợp cho phép chúng ta thực hiện các phép toán, chẳng hạn như giao hoặc hiệu, trên chúng;
  • Bộ dữ liệu tương tự như danh sách, nhưng không thay đổi;

Khoa học dữ liệu Python Hướng dẫn

Chúng ta có thể triển khai cấu trúc dữ liệu trong python không

Thông tin về các Tác giả

Artur Sannikov

Tô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]