Python Lists

Category: Python

Trong Python, list là một mảng có kích thước động tích hợp sẵn (tự động mở rộng và thu hẹp). Chúng ta có thể lưu trữ tất cả các loại mục (bao gồm cả danh sách khác) trong danh sách. Danh sách có thể chứa các loại mục hỗn hợp, điều này có thể thực hiện được vì danh sách chủ yếu lưu trữ các tham chiếu tại các vị trí liền kề và các mục thực tế có thể được lưu trữ tại các vị trí khác nhau.

  • Danh sách có thể chứa các mục trùng lặp.

  • Danh sách trong Python có thể thay đổi. Do đó, chúng ta có thể sửa đổi, thay thế hoặc xóa các mục.

  • Danh sách được sắp xếp. Nó duy trì thứ tự các phần tử dựa trên cách chúng được thêm vào.

  • Có thể truy cập các mục trong Danh sách trực tiếp bằng cách sử dụng vị trí của chúng (chỉ mục), bắt đầu từ 0.

# Tạo một danh sách Python với nhiều kiểu dữ liệu khác nhau
a = [10, 20, "GfG", 40, True]

print(a)

# Truy cập phần tử bằng cách sử dụng chỉ mục
print(a[0])  # 10
print(a[1])  # 20
print(a[2])  # "GfG"
print(a[3])  # 40
print(a[4])  # True

# Kiểm tra kiểu dữ liệu của các phần tử
print(type(a[2]))  # str (chuỗi)
print(type(a[4]))  # bool (kiểu boolean)

Giải thích:

  • Danh sách này bao gồm hỗn hợp các số nguyên (10, 20, 40), một chuỗi ("GfG") và một giá trị boolean (True).

  • Danh sách được in ra và các phần tử riêng lẻ được truy cập bằng cách sử dụng chỉ mục của chúng (bắt đầu từ 0).

  • type(a[2]) xác nhận "GfG" là một str.

  • type(a[4]) xác nhận True là một giá trị bool.

Lưu ý: Danh sách lưu trữ tham chiếu, không phải giá trị

Mỗi phần tử trong danh sách không được lưu trữ trực tiếp bên trong cấu trúc danh sách. Thay vào đó, danh sách lưu trữ các tham chiếu (con trỏ) đến các đối tượng thực tế trong bộ nhớ. Ví dụ (từ biểu diễn hình ảnh).

  • Bản thân danh sách a là một vùng chứa có tham chiếu (địa chỉ) tới các giá trị thực tế.

  • Python tạo các đối tượng riêng biệt cho 10, 20, "GfG", 40 và True, sau đó lưu trữ địa chỉ bộ nhớ của chúng bên trong a.

  • Điều này có nghĩa là việc sửa đổi một phần tử không ảnh hưởng đến các phần tử khác nhưng có thể ảnh hưởng đến đối tượng được tham chiếu nếu nó có thể thay đổi

Tạo danh sách

Sau đây là một số phương pháp phổ biến để tạo danh sách:

Sử dụng dấu ngoặc vuông

# Danh sách các số nguyên
a = [1, 2, 3, 4, 5]

# Danh sách các chuỗi
b = ['apple', 'banana', 'cherry']

# Danh sách với kiểu dữ liệu hỗn hợp
c = [1, 'hello', 3.14, True]

print(a)
print(b)
print(c)

Đầu ra:

[1, 2, 3, 4, 5]
['apple', 'banana', 'cherry']
[1, 'hello', 3.14, True]

Sử dụng hàm tạo list()

Chúng ta cũng có thể tạo một danh sách bằng cách truyền một phần tử lặp (như chuỗi , bộ hoặc danh sách khác ) vào hàm list() .

# từ 1 tuple
a = list((1, 2, 3, 'apple', 4.5))  

print(a)

Đầu ra:

[1, 2, 3, 'apple', 4.5]

Tạo danh sách với các phần tử lặp lại

Chúng ta có thể tạo một danh sách có các phần tử lặp lại bằng cách sử dụng toán tử nhân.

# Tạo danh sách [2, 2, 2, 2, 2]
a = [2] * 5

# Tạo danh sách [0, 0, 0, 0, 0, 0, 0]
b = [0] * 7

print(a)
print(b)

Đầu ra

[2, 2, 2, 2, 2] 
[0, 0, 0, 0, 0, 0, 0]

Truy cập các phần tử danh sách

Các phần tử trong danh sách có thể được truy cập bằng cách sử dụng indexing . Các index của Python bắt đầu từ 0 , do đó a[0] sẽ truy cập phần tử đầu tiên, trong khi indexing âm cho phép chúng ta truy cập các phần tử từ cuối danh sách. Giống như index -1 biểu thị các phần tử cuối cùng của danh sách.

a = [10, 20, 30, 40, 50]

# truy cập phần tử đầu tiên
print(a[0])    

# truy cập phần tử cuối cùng
print(a[-1])

Đầu ra:

10 
50

Thêm phần tử vào danh sách

Chúng ta có thể thêm các phần tử vào danh sách bằng các phương pháp sau:

  • append(): Thêm một phần tử vào cuối danh sách.

  • extend(): Thêm nhiều phần tử vào cuối danh sách.

  • insert() : Thêm một phần tử vào vị trí cụ thể.

# Khởi tạo một danh sách rỗng
a = []

# Thêm 10 vào cuối danh sách
a.append(10)  
print("After append(10):", a)  

# Chèn 5 vào chỉ số 0
a.insert(0, 5)
print("After insert(0, 5):", a) 

# Thêm nhiều phần tử [15, 20, 25] vào cuối
a.extend([15, 20, 25])  
print("After extend([15, 20, 25]):", a)

Đầu ra:

After append(10): [10]
After insert(0, 5): [5, 10]
After extend([15, 20, 25]): [5, 10, 15, 20, 25]

Cập nhật các phần tử vào danh sách

Chúng ta có thể thay đổi giá trị của một phần tử bằng cách truy cập phần tử đó thông qua chỉ mục của nó.

a = [10, 20, 30, 40, 50]

# Thay đổi phần tử thứ hai
a[1] = 25 

print(a)

Đầu ra

[10, 25, 30, 40, 50]

Xóa phần tử khỏi danh sách

Chúng ta có thể xóa các phần tử khỏi danh sách bằng cách sử dụng:

  • remove() : Xóa lần xuất hiện đầu tiên của một phần tử.

  • pop() : Xóa phần tử ở chỉ mục cụ thể hoặc phần tử cuối cùng nếu không chỉ mục nào được chỉ định.

  • Câu lệnh del : Xóa một phần tử ở chỉ mục đã chỉ định.

a = [10, 20, 30, 40, 50]

# Xóa lần xuất hiện đầu tiên của 30
a.remove(30)  
print("After remove(30):", a)

# Xóa phần tử ở chỉ mục 1 (20)
popped_val = a.pop(1)  
print("Popped element:", popped_val)
print("After pop(1):", a) 

# Xóa phần tử đầu tiên (10)
del a[0]  
print("After del a[0]:", a)

Đầu ra:

After remove(30): [10, 20, 40, 50]
Popped element: 20
After pop(1): [10, 40, 50]
After del a[0]: [40, 50]

Lặp lại qua danh sách

Chúng ta có thể lặp lại Lists một cách dễ dàng bằng cách sử dụng vòng lặp for hoặc các phương pháp lặp khác. Lặp lại qua các list rất hữu ích khi chúng ta muốn thực hiện một số thao tác trên mỗi mục hoặc truy cập các mục cụ thể dựa trên các điều kiện nhất định. Hãy lấy một ví dụ để lặp lại qua list bằng vòng lặp for .

Sử dụng vòng lặp for

a = ['apple', 'banana', 'cherry']

# Lặp lại danh sách
for item in a:
    print(item)

Đầu ra:

apple
banana
cherry

Danh sách lồng nhau trong Python

Danh sách lồng nhau là danh sách trong một danh sách khác, hữu ích để biểu diễn ma trận hoặc bảng. Chúng ta có thể truy cập các phần tử lồng nhau bằng cách nối các chỉ mục.

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

# Truy cập phần tử ở hàng 2, cột 3
print(matrix[1][2])

Đầu ra

6

Published on Jun 18, 2025