Toán Tử Trong Python: Các Loại Toán Tử Và Ví Dụ Cho Người Mới
Toán tử trong Python là ký hiệu hoặc từ khóa dùng để tính toán và so sánh giá trị trong code, như +,...
Uyên Hoàng Thị Tố
Đăng ngày 06/11/2026
Python list là kiểu dữ liệu lưu nhiều giá trị trong một biến, viết trong ngoặc vuông và ngăn cách bằng dấu phẩy. List trong Python có thứ tự, sửa được và chứa được nhiều kiểu dữ liệu. Bài viết hướng dẫn cách tạo, truy cập, thêm, xóa và sắp xếp list, kèm ví dụ chạy được dành cho người mới bắt đầu.
Khi cần lưu danh sách điểm số, tên học viên hay giá sản phẩm, bạn không muốn tạo hàng chục biến riêng lẻ. Python list giải quyết việc đó. Bạn gom các giá trị vào một biến duy nhất và xử lý chúng cùng lúc.
diem = [8, 9.5, 7, 10]
ten = ["An", "Lan", "Minh"]
hon_hop = [1, "Python", 3.14, True]
Bạn cần nhớ bốn đặc điểm sau của list trong Python:
Có thứ tự: phần tử giữ đúng vị trí bạn thêm vào.
Sửa được: bạn thêm, đổi và xóa phần tử sau khi tạo list.
Cho phép trùng lặp: cùng một giá trị có thể xuất hiện nhiều lần.
Chứa nhiều kiểu dữ liệu: số, chuỗi, boolean, thậm chí list khác nằm chung một list.
Nếu bạn chưa quen khái niệm biến, hãy đọc bài quy tắc đặt tên biến trong Python trước.
Có hai cách phổ biến để tạo list. Cách đầu tiên dùng cặp ngoặc vuông, cách thứ hai dùng hàm list().
Đây là cách ngắn và dễ đọc nhất. Bạn đặt các phần tử trong [], cách nhau bằng dấu phẩy.
so = [1, 2, 3, 4, 5]
rong = []
print(so)
print(len(rong))
Kết quả là [1, 2, 3, 4, 5] và 0. List rỗng có độ dài bằng 0, bạn thường dùng nó để thêm dữ liệu dần về sau.
Hàm list() chuyển một chuỗi hoặc dãy số thành list. Cách này hợp khi bạn cần dãy số có quy luật.
chu = list("abc")
day_so = list(range(1, 6))
print(chu) # ['a', 'b', 'c']
print(day_so) # [1, 2, 3, 4, 5]
Python list of lists là list có các phần tử cũng là list. Bạn dùng nó để biểu diễn bảng hoặc ma trận.
bang = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(bang[1][2]) # 6
bang[1] lấy hàng thứ hai, [2] lấy phần tử thứ ba của hàng đó.
Mỗi phần tử của python list có một vị trí, gọi là chỉ mục (index). Chỉ mục đầu tiên là 0, không phải 1.
mau = ["đỏ", "xanh", "vàng", "tím"]
print(mau[0]) # đỏ
print(mau[2]) # vàng
print(mau[-1]) # tím
Chỉ mục âm đếm từ cuối list. -1 là phần tử cuối, -2 là phần tử kề cuối.
Cú pháp list[bắt_đầu:kết_thúc] lấy một đoạn của list. Vị trí kết thúc không được tính.
so = [10, 20, 30, 40, 50]
print(so[1:4]) # [20, 30, 40]
print(so[:2]) # [10, 20]
print(so[::-1]) # [50, 40, 30, 20, 10]
Truy cập vị trí không tồn tại sẽ báo IndexError: list index out of range. Bạn dùng len(so) để kiểm tra độ dài trước khi truy cập.
Vì list sửa được, bạn có thể thay đổi nội dung bất cứ lúc nào. Đây là nhóm thao tác dùng nhiều nhất khi làm việc với list.
Có ba cách thêm phần tử vào list:
append(x): thêm một phần tử vào cuối list.
insert(i, x): chèn phần tử vào vị trí i.
extend(ds): nối nhiều phần tử từ một list khác vào cuối.
a = [1, 2]
a.append(3)
a.insert(0, 0)
a.extend([4, 5])
print(a) # [0, 1, 2, 3, 4, 5]
Append trong Python chỉ thêm đúng một đối tượng. Nếu bạn viết a.append([6, 7]), cả list [6, 7] trở thành một phần tử mới.
Bạn gán giá trị mới cho vị trí cần đổi.
a = [10, 20, 30]
a[1] = 25
print(a) # [10, 25, 30]
Python có ba cách xóa phần tử:
pop(i): xóa phần tử ở vị trí i và trả về giá trị đó. Bỏ trống i thì xóa phần tử cuối.
remove(x): xóa phần tử đầu tiên có giá trị bằng x.
del a[i]: xóa phần tử ở vị trí i, hoặc cả một đoạn.
a = [10, 20, 30, 20, 40]
a.remove(20)
print(a) # [10, 30, 20, 40]
x = a.pop()
print(x, a) # 40 [10, 30, 20]
del a[0]
print(a) # [30, 20]
Nếu giá trị không có trong list, remove() báo ValueError. Hãy kiểm tra bằng if x in a: trước khi gọi.
Sau khi tạo xong, bạn thường cần đọc từng phần tử hoặc xếp chúng theo thứ tự.
Vòng lặp for đi qua từng phần tử của list. Bạn xem kỹ cú pháp ở bài Python for.
for ten in ["An", "Lan", "Minh"]:
print("Xin chào", ten)
for i, ten in enumerate(["An", "Lan"]):
print(i, ten)
Hàm enumerate() trả về cả vị trí lẫn giá trị, rất tiện khi bạn cần đánh số.
Hai cách này khác nhau ở chỗ có đổi list gốc hay không.
| Tiêu chí | a.sort() | sorted(a) |
|---|---|---|
| Đổi list gốc | Có | Không |
| Giá trị trả về | None | List mới đã sắp xếp |
| Dùng khi | Không cần giữ thứ tự cũ | Cần giữ cả list gốc |
a = [3, 1, 2]
print(sorted(a)) # [1, 2, 3]
print(sorted(a, reverse=True)) # [3, 2, 1]
a.sort()
print(a) # [1, 2, 3]
Muốn sắp xếp giảm dần, bạn thêm reverse=True.
List comprehension Python tạo list mới chỉ trong một dòng. Cú pháp là [biểu_thức for phần_tử in danh_sách if điều_kiện].
binh_phuong = [x * x for x in range(1, 6)]
chan = [x for x in range(10) if x % 2 == 0]
print(binh_phuong) # [1, 4, 9, 16, 25]
print(chan) # [0, 2, 4, 6, 8]
Khi biểu thức quá dài, bạn nên quay lại dùng vòng lặp for thường để code dễ đọc.
Bảng dưới tổng hợp những hàm và method bạn gặp thường xuyên nhất.
| Hàm / method | Tác dụng | Ví dụ |
|---|---|---|
len(a) | Đếm số phần tử | len([1, 2, 3]) cho 3 |
sum(a) | Tính tổng các số | sum([1, 2, 3]) cho 6 |
max(a), min(a) | Giá trị lớn nhất, nhỏ nhất | max([4, 9, 2]) cho 9 |
a.count(x) | Đếm số lần x xuất hiện | [1, 2, 1].count(1) cho 2 |
a.index(x) | Vị trí đầu tiên của x | [5, 6, 7].index(6) cho 1 |
a.reverse() | Đảo ngược list tại chỗ | [1, 2, 3] thành [3, 2, 1] |
a.copy() | Tạo bản sao của list | b = a.copy() |
Lưu ý khi sao chép: b = a không tạo list mới. Cả hai tên cùng trỏ vào một list, nên sửa b cũng làm a đổi theo. Hãy dùng a.copy() hoặc a[:] khi cần bản độc lập.
Những lỗi dưới đây xuất hiện nhiều nhất ở người mới học list:
IndexError: list index out of range: bạn truy cập vị trí lớn hơn len(a) - 1.
ValueError: list.remove(x): x not in list: giá trị cần xóa không có trong list.
Gán b = a rồi sửa b: list gốc bị đổi theo. Hãy dùng copy().
Viết a = a.sort(): sort() trả về None, nên a mất toàn bộ dữ liệu. Chỉ gọi a.sort() mà không gán.
Hãy tự viết code trước, rồi mới so với gợi ý.
Tạo list gồm 5 số bất kỳ, in ra số lớn nhất và tổng các số.
Cho a = [4, 7, 1, 7, 9], xóa tất cả số 7 khỏi list.
Dùng list comprehension tạo list các số chia hết cho 3 từ 1 đến 30.
Gợi ý cho bài 3:
chia_het_3 = [x for x in range(1, 31) if x % 3 == 0]
print(chia_het_3) # [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
Muốn luyện thêm, bạn xem bài Bài tập Python cơ bản có lời giải.
List của Python chứa được nhiều kiểu dữ liệu và tự đổi kích thước. Mảng ở nhiều ngôn ngữ khác thường chỉ chứa một kiểu và có kích thước cố định.
List sửa được, viết bằng ngoặc vuông []. Tuple không sửa được sau khi tạo, viết bằng ngoặc tròn ().
Có. Đó là python list of lists, thường dùng để biểu diễn bảng hoặc ma trận.
Bạn đã nắm cách tạo, truy cập, thêm, xóa, sắp xếp và duyệt python list. Hãy gõ lại từng ví dụ trên máy, đổi giá trị rồi xem kết quả thay đổi thế nào.
Đăng ký học thử miễn phí để chạy code ngay trong bài học, hoặc bắt đầu với khóa Nhập môn Lập trình Python. Bạn cũng có thể gọi +84 989 534 458 để chúng tôi tư vấn lộ trình. Luyện đều mỗi ngày, bạn sẽ dùng python list thật quen tay.
Toán tử trong Python là ký hiệu hoặc từ khóa dùng để tính toán và so sánh giá trị trong code, như +,...
Trong Python là gì? Đây thường là câu hỏi về nghĩa của một từ khóa, ký hiệu hoặc hàm đứng sau cụm nà...
Chạy code Python online là cách viết và chạy chương trình ngay trên trình duyệt, không cần cài Pytho...