Python - Danh sách (Lists)

Xin chào, các nhà lập trình nhân dREAM! Hôm nay, chúng ta sẽ khám phá thế giới tuyệt vời của danh sách Python. Là người dạy khoa học máy tính xung quanh khu vực của bạn, tôi rất vui mừng hướng dẫn bạn trong chuyến hành trình này. Hãy bắt đầu với những khái niệm cơ bản và làm việc lên đến những khái niệm nâng cao hơn. tin tôi, bằng cách kết thúc hướng dẫn này, bạn sẽ làm việc với danh sách như một chuyên gia! ?

Python - Lists

Danh sách Python (Python Lists)

Danh sách trong Python như một cây dao cơ bản của các cấu trúc dữ liệu. Chúng rất linh hoạt, dễ sử dụng và rất mạnh mẽ. Tưởng tượng bạn đang tổ chức một buổi tiệc và cần theo dõi các khách mời của mình. Một danh sách sẽ là lựa chọn hoàn hảo!

Hãy tạo danh sách đầu tiên của chúng ta:

guests = ["Alice", "Bob", "Charlie", "David"]
print(guests)

Khi bạn chạy mã này, bạn sẽ thấy:

['Alice', 'Bob', 'Charlie', 'David']

Chúc mừng! Bạn vừa tạo được danh sách đầu tiên của mình. Nhưng điều gì đang diễn ra ở đây?

Một danh sách trong Python là một tập hợp các mục được đặt trong dấu ngoặc vuông [], với mỗi mục được phân tách bằng dấu phẩy. Những mục này có thể là bất kỳ loại nào - chuỗi, số, thậm chí là các danh sách khác!

Dưới đây là một ví dụ với các loại dữ liệu kết hợp:

mixed_list = [42, "Hello", 3.14, True, [1, 2, 3]]
print(mixed_list)

Output:

[42, 'Hello', 3.14, True, [1, 2, 3]]

Như bạn thấy, danh sách của chúng ta chứa một số nguyên, một chuỗi, một số thực, một biến logic, và thậm chí là một danh sách khác!

Truy cập giá trị trong danh sách (Accessing Values in Lists)

Bây giờ có danh sách khách mời của chúng ta, chúng ta phải kiểm tra ai sẽ đến? Đây là nơi chỉ mục có thể hữu ích. Trong Python, chỉ mục danh sách bắt đầu từ 0. Vì vậy, để truy cập mục đầu tiên, chúng ta sử dụng chỉ mục 0.

guests = ["Alice", "Bob", "Charlie", "David"]
print(guests[0])  # Khách mời đầu tiên
print(guests[2])  # Khách mời thứ ba
print(guests[-1])  # Khách mời cuối cùng

Output:

Alice
Charlie
David

Bạn có nhận ra chúng ta sử dụng -1 để truy cập phần tử cuối cùng không? Chỉ mục âm bắt đầu từ cuối danh sách. Đó như đếm ngược!

Cập nhật danh sách (Updating Lists)

Ôi! Chúng ta quên mời Eve. Hãy thêm Eve vào danh sách của chúng ta:

guests = ["Alice", "Bob", "Charlie", "David"]
guests.append("Eve")
print(guests)

Output:

['Alice', 'Bob', 'Charlie', 'David', 'Eve']

Phương thức append() thêm một mục vào cuối danh sách. Nhưng nếu chúng ta muốn thêm Eve giữa Bob và Charlie thì sao?

guests.insert(2, "Eve")
print(guests)

Output:

['Alice', 'Bob', 'Eve', 'Charlie', 'David', 'Eve']

Bây giờ chúng ta có hai Eve! Hãy sửa điều này trong phần tiếp theo.

Xóa phần tử danh sách (Delete List Elements)

Đôi khi, chúng ta cần loại bỏ các mục khỏi danh sách của mình. Hãy loại bỏ Eve thừa:

guests = ['Alice', 'Bob', 'Eve', 'Charlie', 'David', 'Eve']
guests.remove("Eve")
print(guests)

Output:

['Alice', 'Bob', 'Charlie', 'David', 'Eve']

Phương thức remove() loại bỏ lần xuất hiện đầu tiên của mục xác định. Nếu chúng ta biết chỉ mục, chúng ta có thể sử dụng pop():

removed_guest = guests.pop(3)
print(f"{removed_guest} không thể đến.")
print(guests)

Output:

David không thể đến.
['Alice', 'Bob', 'Charlie', 'Eve']

Các thao tác trên danh sách Python (Python List Operations)

Danh sách trong Python có một số kỹ thuật thú vị. Hãy khám phá một số:

# Nối danh sách
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2
print(combined)

# Lặp lại
repeated = [1, 2, 3] * 3
print(repeated)

# Độ dài
guests = ['Alice', 'Bob', 'Charlie', 'Eve']
print(len(guests))

Output:

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
4

Chỉ mục, cắt và ma trận (Indexing, Slicing, and Matrixes)

Bạn nhớ cách chúng ta truy cập các phần tử riêng lẻ? Chúng ta cũng có thể lấy nhiều phần tử cùng lúc bằng cách cắt:

guests = ['Alice', 'Bob', 'Charlie', 'David', 'Eve']
print(guests[1:4])  # Bắt đầu từ chỉ mục 1, đi đến (nhưng không bao gồm) chỉ mục 4
print(guests[:3])   # Từ đầu đến (nhưng không bao gồm) chỉ mục 3
print(guests[2:])   # Từ chỉ mục 2 đến cuối
print(guests[::2])  # Mỗi phần tử thứ hai

Output:

['Bob', 'Charlie', 'David']
['Alice', 'Bob', 'Charlie']
['Charlie', 'David', 'Eve']
['Alice', 'Charlie', 'Eve']

Danh sách có thể được sử dụng để tạo ma trận (danh sách 2D):

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix[1][1])  # Truy cập phần tử ở hàng thứ hai, cột thứ hai

Output:

5

Phương thức danh sách Python (Python List Methods)

Python cung cấp nhiều phương thức tích hợp cho danh sách. Dưới đây là bảng mô tả một số phương thức phổ biến:

Phương thức Mô tả
append() Thêm một phần tử vào cuối danh sách
clear() Loại bỏ tất cả các phần tử khỏi danh sách
copy() Trả về bản sao của danh sách
count() Trả về số lượng các phần tử có giá trị xác định
extend() Thêm các phần tử của danh sách vào cuối danh sách hiện tại
index() Trả về chỉ mục của phần tử đầu tiên có giá trị xác định
insert() Thêm một phần tử vào vị trí xác định
pop() Loại bỏ phần tử ở vị trí xác định
remove() Loại bỏ phần tử đầu tiên có giá trị xác định
reverse() Đảo ngược thứ tự của danh sách
sort() Sắp xếp danh sách

Hãy thử một số:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
numbers.sort()
print(numbers)
numbers.reverse()
print(numbers)
print(numbers.count(5))

Output:

[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
[9, 6, 5, 5, 4, 3, 3, 2, 1, 1]
2

Các hàm tích hợp với danh sách (Built-in Functions with Lists)

Python cũng cung cấp nhiều hàm tích hợp để làm việc với danh sách:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
print(max(numbers))  # Giá trị tối đa
print(min(numbers))  # Giá trị tối thiểu
print(sum(numbers))  # Tổng tất cả các giá trị

Output:

9
1
39

Và đó là tất cả, các bạn! Chúng ta đã đi qua thế giới của danh sách Python, từ việc tạo ra đến việc thao tác, từ các thao tác đơn giản đến các phương thức tích hợp. Hãy nhớ, luyện tập là chìa khóa để thành công, vì vậy đừng sợ thử nghiệm với các khái niệm này.

Trước khi kết thúc, đây là một thông tin thú vị: Bạn có biết rằng danh sách Python thực sự được thực hiện như các mảng động không? Điều này có nghĩa là chúng có thể phóng to hoặc thu nhỏ khi cần, làm cho chúng rất linh hoạt.

Tôi hy vọng bạn đã thích hướng dẫn này như tôi đã thích hướng dẫn bạn qua nó. Hãy tiếp tục lập trình, học hỏi và quan trọng nhất, hãy luôn vui vẻ với Python!

Credits: Image by storyset