🛠️ Phương Thức Của List - Công Cụ Mạnh Mẽ Cho Danh Sách
🛠️ Ví Dụ Dễ Hiểu
Hãy tưởng tượng danh sách như một hộp công cụ đa năng! Mỗi phương thức (method) là một công cụ chuyên biệt giúp bạn sắp xếp, tìm kiếm, sao chép và biến đổi danh sách theo ý muốn!
🤔 Phương Thức Là Gì?
Phương thức (Method) là những chức năng đặc biệt mà Python đã tích hợp sẵn cho danh sách. Thay vì bạn phải tự viết code phức tạp, chỉ cần gọi tên phương thức là xong!
📊 Sắp Xếp Danh Sách
🔢 Sort - Sắp Xếp Tăng Dần
# Sắp xếp số
math_scores = [8.5, 6.0, 9.5, 7.0, 8.0]
print("Trước khi sắp xếp:", math_scores)
math_scores.sort() # Sắp xếp tại chỗ (in-place)
print("Sau khi sắp xếp:", math_scores) # [6.0, 7.0, 8.0, 8.5, 9.5]
# Sắp xếp tên
student_names = ["Châu", "An", "Bình", "Dung", "Em"]
print("Trước:", student_names)
student_names.sort()
print("Sau:", student_names) # ['An', 'Bình', 'Châu', 'Dung', 'Em']
📉 Sort Reverse - Sắp Xếp Giảm Dần
# Sắp xếp từ cao xuống thấp
math_scores = [8.5, 6.0, 9.5, 7.0, 8.0]
math_scores.sort(reverse=True)
print("Điểm từ cao xuống thấp:", math_scores) # [9.5, 8.5, 8.0, 7.0, 6.0]
# Sắp xếp tên theo thứ tự ngược alphabet
student_names = ["An", "Bình", "Châu", "Dung", "Em"]
student_names.sort(reverse=True)
print("Tên ngược alphabet:", student_names) # ['Em', 'Dung', 'Châu', 'Bình', 'An']
🎯 Sorted - Tạo Danh Sách Mới (Không Thay Đổi Gốc)
# Danh sách gốc không thay đổi
original_scores = [8.5, 6.0, 9.5, 7.0, 8.0]
sorted_scores = sorted(original_scores)
print("Danh sách gốc:", original_scores) # [8.5, 6.0, 9.5, 7.0, 8.0]
print("Danh sách mới:", sorted_scores) # [6.0, 7.0, 8.0, 8.5, 9.5]
# Sắp xếp giảm dần
descending_scores = sorted(original_scores, reverse=True)
print("Sắp xếp giảm:", descending_scores) # [9.5, 8.5, 8.0, 7.0, 6.0]
🔄 Đảo Ngược Danh Sách
🔃 Reverse - Đảo Ngược Tại Chỗ
# Đảo ngược thứ tự
ordered_numbers = [1, 2, 3, 4, 5]
print("Trước:", ordered_numbers)
ordered_numbers.reverse()
print("Sau:", ordered_numbers) # [5, 4, 3, 2, 1]
# Đảo ngược tên
class_names = ["An", "Bình", "Châu", "Dung"]
class_names.reverse()
print("Tên đảo ngược:", class_names) # ['Dung', 'Châu', 'Bình', 'An']
🔄 Reversed - Tạo Iterator Đảo Ngược
# Tạo iterator đảo ngược (không thay đổi gốc)
original_numbers = [1, 2, 3, 4, 5]
reversed_numbers = list(reversed(original_numbers))
print("Gốc:", original_numbers) # [1, 2, 3, 4, 5]
print("Đảo ngược:", reversed_numbers) # [5, 4, 3, 2, 1]
📋 Sao Chép Danh Sách
📄 Copy - Tạo Bản Sao Nông
# Tạo bản sao
original_list = ["An", "Bình", "Châu"]
copied_list = original_list.copy()
print("Gốc:", original_list)
print("Sao:", copied_list)
# Thay đổi bản sao không ảnh hưởng gốc
copied_list.append("Dung")
print("Gốc sau khi thay đổi sao:", original_list) # ['An', 'Bình', 'Châu']
print("Sao sau khi thay đổi:", copied_list) # ['An', 'Bình', 'Châu', 'Dung']