Danh sách, bộ dữ liệu và bộ trong Python là các cấu trúc dữ liệu phổ biến chứa các đối tượng khác. Hãy xem các cấu trúc này giống và khác nhau như thế nào bằng cách xem qua một số ví dụ mã
Trong Python, chúng tôi có bốn cấu trúc dữ liệu tích hợp có thể lưu trữ một tập hợp các phần tử khác nhau. Đây là các danh sách, từ điển, bộ dữ liệu và bộ. Nếu bạn đã biết lý thuyết đằng sau những cấu trúc dữ liệu này, bạn có thể tham gia khóa học Thực hành về cấu trúc dữ liệu Python của chúng tôi và có được trải nghiệm thực tế với những cách chúng được sử dụng phổ biến nhất. Trong bài viết này, chúng ta sẽ tập trung vào các danh sách, bộ dữ liệu và tập hợp trong Python và khám phá những điểm giống và khác nhau của chúng
Danh sách Python
Danh sách Python là cấu trúc dữ liệu tích hợp chứa một tập hợp các mục. Để hiểu cách hoạt động của danh sách, hãy đi thẳng vào ví dụ
Chúng tôi muốn tạo một danh sách bao gồm tên của các tổng thống Hoa Kỳ được bầu trong sáu cuộc bầu cử tổng thống vừa qua. Các phần tử của danh sách phải được đặt trong dấu ngoặc vuông [] và được phân tách bằng dấu phẩy. Để tạo một danh sách, chúng ta chỉ cần viết các phần tử trong ngoặc vuông
us_presidents_list = ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush']
Các yếu tố của danh sách này xuất hiện theo một thứ tự cụ thể và bắt đầu từ chủ tịch hiện tại. Nếu một tổng thống được bầu hai lần [phục vụ trong hai nhiệm kỳ], chúng tôi bao gồm ông ấy hai lần. Ở đây, chúng tôi tận dụng hai đặc điểm quan trọng của danh sách. danh sách được sắp xếp theo thứ tự và có thể chứa các bản sao
Khi làm việc với một danh sách, bạn có thể lặp lại nó, truy cập các phần tử của nó, đồng thời có thể thêm, thay đổi và xóa các phần tử danh sách. Đây là những kỹ thuật cơ bản mà bạn có thể học trong khóa học Thực hành về cấu trúc dữ liệu Python của chúng tôi. Bây giờ, chúng ta hãy đi qua một vài ví dụ
Lặp lại danh sách. Bằng cách lặp qua danh sách, chúng ta có thể thực hiện một thao tác cụ thể [e. g.
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
5] với mỗi phần tử của danh sáchfor president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
Truy cập các phần tử danh sách. Chúng ta có thể truy cập một phần tử danh sách thông qua vị trí chỉ mục của nó
print[us_presidents_list[1]] Output: Donald Trump
Trong Python, lập chỉ mục bắt đầu bằng 0. Do đó, chúng tôi đã truy cập phần tử thứ hai của danh sách bằng chỉ mục 1
sửa đổi danh sách. Danh sách có thể thay đổi, ngụ ý rằng chúng ta có thể thêm, xóa và thay đổi các phần tử của chúng. Ví dụ: chúng ta có thể sử dụng
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
6 để thêm phần tử mới vào cuối danh sáchus_presidents_list.append['Bill Clinton'] print[us_presidents_list] Output: ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush', 'Bill Clinton']
Chúng ta có thể xóa bất kỳ phần tử nào của danh sách bằng phương thức
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
7us_presidents_list.remove['Bill Clinton'] print[us_presidents_list] Output: ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush']
Chúng tôi cũng có thể thay đổi các thành phần danh sách riêng lẻ bằng cách truy cập chúng bằng các chỉ số
________số 8
Ở đây, chúng tôi đã in ra từng phần tử riêng biệt. Bằng cách lặp lại danh sách, chúng tôi cũng có thể thay đổi tất cả các tên thành chữ hoa hoặc trích xuất họ thành một danh sách riêng
Nếu bạn làm việc nhiều với dữ liệu số, bạn có thể muốn sử dụng mảng hơn là danh sách. Tìm hiểu cách danh sách Python khác với mảng trong bài viết này
Bộ dữ liệu Python
Bộ dữ liệu Python là một cấu trúc dữ liệu tích hợp khác có thể chứa một tập hợp các phần tử. Tuples về mặt kỹ thuật rất giống với danh sách. Tuy nhiên, chúng thường có các ứng dụng khác nhau;
Ví dụ: lưu trữ thông tin cơ bản về một tổng thống Hoa Kỳ [chứ không phải danh sách các tổng thống Hoa Kỳ] trong một bộ sẽ phổ biến hơn. Vì vậy, hãy tạo một
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush8. Một bộ có thể được tạo bằng cách đặt tất cả các phần tử bên trong dấu ngoặc đơn [], được phân tách bằng dấu phẩy
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush0
Ở đây, chúng tôi đã bao gồm tên, họ, ngày nhậm chức và đảng chính trị của tổng thống. Các phần tử này xuất hiện theo một thứ tự cụ thể – các bộ dữ liệu được sắp xếp theo thứ tự. Chúng tôi không có các phần tử trùng lặp trong bộ dữ liệu của mình, nhưng bạn có thể lưu trữ các phần tử trùng lặp trong bộ dữ liệu Python
Bây giờ, hãy thực hiện một số thao tác cơ bản với tuple của chúng ta. Chúng tôi có thể lặp lại nó và truy cập các phần tử của nó bằng cách lập chỉ mục
Lặp lại Tuple. Giống như với các danh sách, chúng ta có thể in ra từng phần tử của bộ dữ liệu một cách riêng biệt bằng cách lặp lại nó
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
1Chúng ta có thể làm nhiều việc khác khi lặp qua các phần tử tuple, e. g. kiểm tra xem độ dài của mỗi phần tử không vượt quá một giá trị cụ thể, truy cập loại dữ liệu của từng mục tuple, v.v.
Truy cập các phần tử tuple. Chúng ta có thể truy cập các phần tử tuple bằng cách lập chỉ mục. Ví dụ, hãy lấy ngày khánh thành
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
2Sử dụng chỉ mục 2, chúng tôi đã in ra phần tử thứ ba của bộ dữ liệu, đó là ngày khánh thành
Bằng cách truy cập các phần tử tuple, chúng ta cũng có thể lấy tên đầy đủ của tổng thống Mỹ hiện tại
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
3
Không giống như danh sách, bộ dữ liệu là bất biến. Cấu trúc dữ liệu này không cho phép thay đổi, thêm bớt các phần tử riêng lẻ
Bộ Python
Tập hợp Python là cấu trúc dữ liệu tích hợp trong Python, giống như danh sách và bộ dữ liệu, chứa nhiều phần tử. Để hiểu nó khác với danh sách và bộ dữ liệu như thế nào, hãy xem qua một ví dụ khác
Chúng tôi sẽ tạo một tập hợp có tên là
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush9 với tên của các tổng thống Hoa Kỳ. Một trong những cách để tạo một bộ Python là định nghĩa nó bằng dấu ngoặc nhọn {}
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush0
Tên của năm tổng thống Hoa Kỳ được sắp xếp theo thứ tự ngẫu nhiên vì các bộ không có thứ tự. Ngoài ra, các bộ không thể chứa các bản sao;
Hãy có một vài ví dụ về mã để xem cách các bộ hoạt động trong thực tế
Lặp lại tập hợp. Chúng tôi có thể lặp lại một tập hợp để in các phần tử của nó bằng cách sử dụng chính xác đoạn mã mà chúng tôi đã sử dụng với danh sách
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
1Lưu ý rằng thứ tự của các phần tử được in trong đầu ra khác với thứ tự chúng tôi đã chỉ định khi tạo tập hợp này. Đó là bởi vì, như chúng tôi đã đề cập, các bộ là một tập hợp các mục không có thứ tự
Chúng tôi cũng có thể lặp lại tập hợp này để kiểm tra xem chúng tôi có 'Ronald Reagan' trong tập hợp không
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
2Ở đây, chúng ta bắt đầu bằng cách tạo một biến giả,
print[us_presidents_list[1]] Output: Donald Trump
0, bằng vớiprint[us_presidents_list[1]] Output: Donald Trump
1. [Điều này giả định rằng chúng ta không có Ronald Reagan trong bộ. ] Sau đó, chúng tôi kiểm tra mọi phần tử của tập hợp để xem có phần tử nào bằng 'print[us_presidents_list[1]] Output: Donald Trump
2' không. Nếu có một phần tử tập hợp bằng ‘print[us_presidents_list[1]] Output: Donald Trump
2’, biếnprint[us_presidents_list[1]] Output: Donald Trump
0 sẽ thay đổi thànhprint[us_presidents_list[1]] Output: Donald Trump
5. Như bạn thấy từ đầu ra, biếnprint[us_presidents_list[1]] Output: Donald Trump
0 vẫn bằng vớiprint[us_presidents_list[1]] Output: Donald Trump
1, cho thấy tổng thống này không được bao gồm trong tập hợpsửa đổi bộ. Các bộ có thể thay đổi, cho phép chúng tôi thêm và xóa các phần tử của chúng. Để thêm một phần tử vào tập hợp, chỉ cần sử dụng phương thức
print[us_presidents_list[1]] Output: Donald Trump
8for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
3Để xóa bất kỳ phần tử nào của tập hợp, hãy sử dụng phương thức remove[]
for president in us_presidents_list: print[president] Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
4Xét rằng các bộ Python không có thứ tự, chúng tôi không thể truy cập hoặc thay đổi một phần tử riêng lẻ của một bộ bằng cách lập chỉ mục
Tìm hiểu thêm về các hoạt động của bộ Python trong hướng dẫn toàn diện này
Gói [lại. Sự khác biệt giữa Danh sách, Bộ dữ liệu và Bộ trong Python
Bây giờ, hãy tóm tắt những gì chúng ta đã học được cho đến nay về danh sách, bộ dữ liệu và tập hợp trong Python
Danh sách PythonPython tuplesPython setlist = [item1, item2, item3]tuple = [item1, item2, item3]set = {item1, item2, item3}orderedorderedunorderedallow trùng lặp cho phép trùng lặp không trùng lặp có thể thay đổi có thể thay đổiĐây là những đặc điểm cơ bản của danh sách, bộ dữ liệu và bộ trong Python. Có nhiều tính năng hơn có thể ảnh hưởng đến cấu trúc dữ liệu nào phù hợp hơn cho một ứng dụng cụ thể. Ngoài ra, đừng quên từ điển Python, một cấu trúc dữ liệu tích hợp khác có thể chứa một tập hợp các mục
Để tìm hiểu thêm về danh sách, bộ dữ liệu, bộ và từ điển, hãy xem khóa học Thực hành về cấu trúc dữ liệu Python tương tác của chúng tôi. Nó chứa 118 bài tập bao gồm các trường hợp sử dụng điển hình cho từng cấu trúc dữ liệu được thảo luận trong bài viết này. Bạn cũng sẽ tìm hiểu về danh sách lồng nhau, có thể được sử dụng để biểu thị hình ảnh 2D, dữ liệu dạng bảng hoặc bảng trò chơi ảo. Khi kết thúc khóa học, bạn sẽ viết một trò chơi PC thực sự
Đối với những người sẵn sàng tiếp cận toàn diện để học Python, chúng tôi khuyên bạn nên theo dõi Học lập trình với Python. Nó bao gồm năm khóa học tương tác đầy đủ bao gồm các vấn đề cơ bản về Python và một số chủ đề nâng cao hơn
Vẫn không chắc liệu bạn có cần học Python không?