Giải thích về danh sách Python kèm ví dụ
List understandings cung cấp một cách ngắn gọn để tạo danh sách trong Python. Chúng dễ đọc hơn và thường hiệu quả hơn so với việc sử dụng các vòng lặp truyền thống. Bài viết này sẽ khám phá list understandings là gì, chúng hoạt động như thế nào và cung cấp các ví dụ để minh họa cách sử dụng chúng.
Hiểu danh sách là gì?
Hiểu danh sách là một cách nhỏ gọn để xử lý toàn bộ hoặc một phần các phần tử trong một tập hợp và trả về một danh sách với các kết quả. Cú pháp của hiểu danh sách là:
[expression for item in iterable if condition]
Tại đây, expression
là mục hiện tại trong vòng lặp, nhưng cũng là kết quả mà bạn có thể thao tác trước khi nó kết thúc như một mục danh sách. iterable
là bộ sưu tập mà bạn đang lặp qua và condition
là bộ lọc tùy chọn chỉ bao gồm các mục thỏa mãn điều kiện.
Ví dụ cơ bản
Tạo danh sách các hình vuông
Để tạo danh sách các bình phương số từ 0 đến 9, bạn có thể sử dụng danh sách hiểu như sau:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)
Đầu ra:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Lọc mục
Bạn cũng có thể thêm điều kiện để lọc các mục. Ví dụ, để chỉ lấy các số chẵn từ danh sách:
even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)
Đầu ra:
[0, 4, 16, 36, 64]
Làm phẳng một danh sách các danh sách
Nếu bạn có một danh sách các danh sách và muốn làm phẳng nó, bạn có thể sử dụng danh sách hiểu biết:
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)
Đầu ra:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Ví dụ nâng cao
Áp dụng các hàm
Bạn có thể áp dụng các hàm trong một danh sách hiểu biết. Ví dụ, để chuyển đổi một danh sách các chuỗi thành chữ hoa:
words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)
Đầu ra:
['HELLO', 'WORLD', 'PYTHON']
Hiểu biết lồng nhau
Có thể lồng các hiểu biết về danh sách. Ví dụ, để tạo một danh sách các bộ (i, j) trong đó i và j đều là các phần tử từ hai danh sách:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)
Đầu ra:
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
Phần kết luận
List understandings cung cấp một cách mạnh mẽ và súc tích để tạo danh sách trong Python. Chúng có thể đơn giản hóa mã của bạn và làm cho nó dễ đọc hơn bằng cách thay thế nhiều dòng mã vòng lặp bằng một dòng đơn giản. Thực hành sử dụng list understandings để trở nên thoải mái hơn với cú pháp và khả năng của chúng.