Cơ bảneducational

List trong Python: Tạo, thêm, xóa và các phương thức cần biết

8 phút đọc0 lượt xem
#python#list#array#append#map#filter#comprehension

List trong Python: Tạo, thêm, xóa và các phương thức cần biết

Trong Python, List là một trong những kiểu dữ liệu quan trọng nhất mà bạn sẽ dùng hằng ngày. List cho phép lưu trữ nhiều giá trị trong một biến duy nhất, theo thứ tự có thể thay đổi.

Bài viết này hướng dẫn đầy đủ về List trong Python: từ cách tạo, thêm/xóa phần tử đến tất cả các phương thức quan trọng.

List trong Python là gì?

List là kiểu dữ liệu có thứ tự, có thể thay đổi (mutable) và cho phép giá trị trùng lặp. Bạn có thể lưu bất kỳ kiểu dữ liệu nào trong cùng một list.

# List các loại trái cây
fruits = ["táo", "chuối", "xoài", "cam"]

# List số nguyên
numbers = [1, 2, 3, 4, 5]

# List hỗn hợp – có thể chứa nhiều kiểu dữ liệu
mixed = [1, "hello", True, 3.14, None]

# List rỗng
empty = []
empty2 = list()

print(type(fruits))   # <class 'list'>
print(len(fruits))    # 4 (số phần tử)

Truy cập phần tử trong List

Python dùng index (chỉ số) để truy cập phần tử. Index bắt đầu từ 0.

fruits = ["táo", "chuối", "xoài", "cam"]

# Index dương (từ đầu)
print(fruits[0])   # "táo"
print(fruits[1])   # "chuối"
print(fruits[3])   # "cam"

# Index âm (từ cuối)
print(fruits[-1])  # "cam" (phần tử cuối)
print(fruits[-2])  # "xoài"

Slicing – Cắt List

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(nums[2:5])    # [2, 3, 4]
print(nums[:3])     # [0, 1, 2] (từ đầu đến index 3)
print(nums[7:])     # [7, 8, 9] (từ index 7 đến cuối)
print(nums[::2])    # [0, 2, 4, 6, 8] (bước nhảy 2)
print(nums[::-1])   # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] (đảo ngược)

Thêm phần tử vào List

# append() – Thêm vào cuối
fruits = ["táo", "chuối"]
fruits.append("xoài")
print(fruits)  # ["táo", "chuối", "xoài"]

# insert() – Thêm vào vị trí cụ thể
fruits.insert(1, "nho")     # Thêm "nho" vào index 1
print(fruits)  # ["táo", "nho", "chuối", "xoài"]

# extend() – Thêm nhiều phần tử
more = ["cam", "dứa", "ổi"]
fruits.extend(more)
print(fruits)  # ["táo", "nho", "chuối", "xoài", "cam", "dứa", "ổi"]

Xóa phần tử khỏi List

# remove() – Xóa theo giá trị
fruits = ["táo", "chuối", "xoài", "chuối"]
fruits.remove("chuối")   # Xóa lần xuất hiện đầu tiên
print(fruits)  # ["táo", "xoài", "chuối"]

# pop() – Xóa theo index
fruits = ["táo", "chuối", "xoài"]
last = fruits.pop()       # Xóa phần tử cuối, trả về "xoài"
first = fruits.pop(0)     # Xóa phần tử đầu, trả về "táo"

# del – Xóa theo index
fruits = ["táo", "chuối", "xoài"]
del fruits[1]
print(fruits)  # ["táo", "xoài"]

# clear() – Xóa tất cả
fruits.clear()
print(fruits)  # []

Các phương thức List quan trọng khác

# sort() – Sắp xếp tại chỗ
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
numbers.sort()                    # Sắp xếp tăng dần
numbers.sort(reverse=True)        # Sắp xếp giảm dần

# sorted() – Trả về list mới đã sắp xếp
original = [3, 1, 4, 1, 5]
sorted_list = sorted(original)   # original không thay đổi

# reverse() – Đảo ngược list
fruits = ["táo", "chuối", "xoài"]
fruits.reverse()
print(fruits)  # ["xoài", "chuối", "táo"]

# index() – Tìm vị trí phần tử
fruits = ["táo", "chuối", "xoài"]
print(fruits.index("chuối"))  # 1

# count() – Đếm số lần xuất hiện
numbers = [1, 2, 3, 2, 1, 2]
print(numbers.count(2))  # 3

List Comprehension – Viết code ngắn gọn hơn

# Tạo list bình phương từ 1 đến 5
squares = [i ** 2 for i in range(1, 6)]
print(squares)  # [1, 4, 9, 16, 25]

# Với điều kiện lọc
even_squares = [i ** 2 for i in range(1, 11) if i % 2 == 0]
print(even_squares)  # [4, 16, 36, 64, 100]

# Biến đổi chuỗi
fruits = ["táo", "chuối", "xoài"]
upper_fruits = [f.upper() for f in fruits]
print(upper_fruits)  # ["TÁO", "CHUỐI", "XOÀI"]

Bảng tổng hợp các phương thức List

Phương thứcMô tảVí dụ
append(x)Thêm x vào cuốilst.append(4)
insert(i, x)Thêm x vào index ilst.insert(1, 4)
extend(lst2)Thêm tất cả từ lst2lst.extend([5,6])
remove(x)Xóa x (lần đầu)lst.remove(4)
pop(i)Xóa và trả về phần tử ilst.pop(0)
clear()Xóa tất cảlst.clear()
index(x)Tìm vị trí của xlst.index(4)
count(x)Đếm số lần x xuất hiệnlst.count(4)
sort()Sắp xếp tại chỗlst.sort()
reverse()Đảo ngược tại chỗlst.reverse()
copy()Tạo bản saolst2 = lst.copy()

Bài viết liên quan

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

100 Days of Code: The Complete Python Pro Bootcamp

Học Python qua 100 dự án thực tế. Phù hợp cho người mới bắt đầu.

4.7499.000 ₫
Xem khóa học →

Python for Data Science and Machine Learning Bootcamp

Học Data Science với Python: pandas, matplotlib, scikit-learn.

4.6499.000 ₫
Xem khóa học →

Automate the Boring Stuff with Python

Tự động hóa công việc lặp đi lặp lại bằng Python.

4.6399.000 ₫
Xem khóa học →
Quảng cáo