Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cấu trúc dữ liệu built-in trong Python: List, Dict, Tuple, Set

Python cung cấp 4 cấu trúc dữ liệu container chính, mỗi loại có đặc điểm riêng phù hợp bài toán khác nhau.

1. List - Danh sách

Đặc điểm: Có thứ tự, mutable (thay đổi được), cho phép trùng lặp.

my_list = ["car", "bus", "truck"]
print(my_list[1])      # bus
my_list[2] = "van"     # sửa
for x in my_list: print(x)

Phương thức List chính

MethodMô tả
append(x)Thêm x vào cuối
extend(iterable)Mở rộng bằng iterable
insert(i, x)Chèn x tại vị trí i
remove(x)Xóa phần tử đầu tiên bằng x
pop([i])Xóa và trả phần tử i (mặc định cuối)
clear()Xóa tất cả
index(x)Vị trí đầu tiên của x
count(x)Số lần xuất hiện x
sort()Sắp xếp tại chỗ
reverse()Đảo ngược tại chỗ
copy()Sao chép nông (shallow)

2. Dict - Từ điển

Đặc điểm: Key-value, unordered (Python 3.7+ giữ thứ tự insert), key duy nhất, mutable.

student = {"Aadrika": 1, "Adwaita": 9, "Sakya": 11}
print(student["Adwaita"])  # 9
student["Krishna"] = 111   # thêm
del student["Aadrika"]     # xóa

3. Tuple - Bộ

Đặc điểm: Có thứ tự, immutable (bất biến), hashable (dùng làm key dict).

my_tuple = ("car", "bus", "truck")
print(my_tuple[1])  # bus
# my_tuple[2] = "van"  # TypeError!

Phương thức: count(x), index(x).

4. Set - Tập hợp

Đặc điểm: Không thứ tự, không trùng lặp, mutable, hỗ trợ phép toán tập hợp.

A = {"AA", "BB", "CC"}
B = {"MM", "NN"}
A.add("DD")
print(A | B)   # union
print(A & B)   # intersection
print(A - B)   # difference
print(A ^ B)   # symmetric difference

Bảng so sánh

ListTupleDictSet
Thứ tựCóCóCó (3.7+)Không
MutableCóKhôngCóCó
Trùng lặpCóCóKey: khôngKhông
Index truy cậpCóCóKeyKhông
HashableKhôngCóKhôngKhông

Chuyển đổi

list((1,2,3))      # [1,2,3]
tuple([1,2,3])     # (1,2,3)
set([1,2,2,3])     # {1,2,3}
dict([('a',1),('b',2)])  # {'a':1,'b':2}