List là gì ?
Trong Python list là một kiểu dữ liệu xây dựng sẵn dùng để lưu trữ dữ liệu một tập hợp có thứ tự
Khởi tạo List
# Tạo list rỗng
my_list = []
# Tạo list có sẵn các phần tử
num = [1, 2, 3]
fruits = ["apple", "banana", "cherry"]
# Một list có nhiều kiểu giá trị
mixed = [1, "hello", 3.14, True]
# List nằm trong List
nested = [[1, 2], ["apple", "banana"]]
# Tạo list từ range
list_from_range = list(range(5)) #[0,1,2,3,4]
# Tạo list từ string
list_from_string = list("abc") #['a','b','c']
List Indexing and Slicing
List là một loại danh sách có index bắt đầu từ 0, có thể truy cập các phần từ bằng index do vậy nó thuộc loại Ordered
Chúng ta có ví dụ sau đây
fruits = ["apple", "banana", "cherry"]
# Indexing
print(fruits[0]) # 'apple' lấy phần tử đầu tiên
print(fruits[-1]) # 'cherry' ( index số âm = sẽ đếm từ phải sang trái)
# Slicing
print(fruits[0:2]) # ['apple', 'banana'] , từ index 0 lấy 2 phần từ
print(fruits[:2]) # cùng nghĩa với code bên trên, có thể bỏ đi số 0
print(fruits[1:]) # ['banana', 'cherry'] , Lấy từ index 1 đến cuối
print(fruits[::-1]) # Đảo ngược danh sách ['cherry', 'banana', 'apple']
Một số phương thức thường dùng
Ví dụ
nums = [3, 1, 4, 2]
nums.sort()
print(nums) # [1, 2, 3, 4]
nums.reverse() # [4, 3, 2, 1]
print(nums)
List Comprehensions
Tạo List từ vòng lặp
Cú pháp: [expression for item in iterable]
squares = [x**2 for x in range(5)] # Mỗi phần từ đều bình phương lên
print(squares) # [0, 1, 4, 9, 16]
evens = [x for x in range(10) if x % 2 == 0] # Tạo vòng lặp số chẵn
print(evens) #[0, 2, 4, 6, 8]
Các vòng lặp lồng nhau
matrix = [[1, 2, 3], [4, 5, 6]]
flattened = [num for row in matrix for num in row]
print(flattened) # [1, 2, 3, 4, 5, 6]
Giải thích: vòng for đầu duyệt qua maxtrix để lấy mỗi row là một List, sau đó duyệt qua row để lấy ra num, cuối cùng ta có num là số int