Tuy nhiên, Python cung cấp nhiều cách để làm việc với các dãy hoặc tập hợp dữ liệu giống như mảng thông qua danh sách (list), tuple, hoặc thông qua thư viện NumPy (nếu bạn cần một mảng thực sự với các phép toán mảng hiệu quả).
Trong Python không còn dùng mảng, nhưng để dễ hiểu thì có thể sử dụng từ khóa mảng dùng chung.
Danh sách (list) là một kiểu dữ liệu trong Python dùng để lưu trữ một tập hợp các phần tử có thể thay đổi (mutable). Bạn có thể chứa bất kỳ kiểu dữ liệu nào trong danh sách (số, chuỗi, danh sách con, v.v.).
my_list = [element1, element2, element3, ...]
# Tạo một danh sách các số nguyên
numbers = [1, 2, 3, 4, 5]
# Truy cập phần tử trong danh sách
print(numbers[0]) # In ra 1 (phần tử đầu tiên)
print(numbers[-1]) # In ra 5 (phần tử cuối cùng)
# Thêm phần tử vào danh sách
numbers.append(6) # Thêm 6 vào cuối danh sách
# Thay đổi phần tử trong danh sách
numbers[2] = 10 # Đổi phần tử tại chỉ mục 2 thành 10
# Loại bỏ phần tử trong danh sách
numbers.remove(10) # Xóa phần tử có giá trị 10
# In ra danh sách đã thay đổi
print(numbers)
Output:
1
5
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
Video tạo mảng đơn giản python
Dùng chỉ mục, với chỉ mục bắt đầu từ 0. Chỉ mục âm sẽ truy cập từ cuối danh sách.
lst = [10, 20, 30, 40]
print(lst[0]) # 10
print(lst[-1]) # 40
lst = [10, 20, 30, 40, 50]
print(lst[1:4]) # [20, 30, 40] (từ chỉ mục 1 đến 3)
Dùng append() để thêm phần tử vào cuối danh sách:
lst.append(60)
lst.insert(1, 15) # Thêm 15 tại chỉ mục 1
* Dùng remove() để xóa phần tử theo giá trị:
lst.remove(30) # Xóa phần tử có giá trị 30
* Dùng pop() để xóa phần tử theo chỉ mục (hoặc xóa phần tử cuối nếu không chỉ định chỉ mục):
lst.pop(2) # Xóa phần tử tại chỉ mục 2
lst = [3, 1, 4, 5, 2]
lst.sort() # Sắp xếp theo thứ tự tăng dần
print(lst) # [1, 2, 3, 4, 5]
lst.sort(reverse=True)
print(lst) # [5, 4, 3, 2, 1]
my_list = [5,1,2,8]
# Tìm số lớn nhất và nhỏ nhất
max_num = max(my_list)
min_num = min(my_list)
# In kết quả
print("Số lớn nhất:", max_num)
print("Số nhỏ nhất:", min_num)
my_list = [6,1,2,8]
tong = sum(my_list)
# In kết quả
print("Tổng:", tong)
Danh sách có thể chứa các kiểu dữ liệu khác nhau
my_list = [1, "Hello", 3.14, True]
print(my_list)
data = ["Python","C#","Java"]
# Đếm số dòng (số danh sách con)
print("Số dòng trong danh sách:", len(data))
# kết quả trả về 3
Tuple là một kiểu dữ liệu trong Python rất giống với danh sách (list), nhưng khác ở chỗ là nó không thể thay đổi (immutable) sau khi được tạo ra.
my_tuple = (1, 2, 3, "Hello", 3.14)
print(my_tuple[0]) # Truy cập phần tử đầu tiên
Bạn có thể truy cập các phần tử trong Tuple bằng cách sử dụng chỉ mục, nhưng không thể thay đổi (thêm, xóa, sửa) phần tử sau khi Tuple đã được tạo ra.
Nếu bạn cần sử dụng các mảng để xử lý dữ liệu hiệu quả (như trong các bài toán khoa học dữ liệu, học máy, v.v.), bạn có thể sử dụng thư viện NumPy. NumPy cung cấp kiểu dữ liệu ndarray (mảng đa chiều) và các hàm toán học mạnh mẽ.
pip install numpy
import numpy as np
# Tạo mảng NumPy một chiều
arr = np.array([1, 2, 3, 4, 5])
print(arr)
# Tạo mảng NumPy hai chiều (ma trận)
arr_2d = np.array([[1, 2], [3, 4], [5, 6]])
print(arr_2d)
# Các phép toán trên mảng NumPy
arr_sum = arr + 5 # Thêm 5 vào tất cả phần tử trong mảng
print(arr_sum)
* Khởi tạo mảng NumPy:
np.zeros(5) # Mảng toàn số 0 có 5 phần tử
np.ones(3) # Mảng toàn số 1 có 3 phần tử
np.arange(0, 10, 2) # Mảng với các giá trị từ 0 đến 9 với bước nhảy là 2
np.linspace(0, 1, 5) # Mảng với 5 giá trị đều từ 0 đến 1
* Các phép toán mảng NumPy:
Phép cộng, trừ, nhân, chia giữa các mảng:
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2) # [5, 7, 9]
Cắt mảng:
arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4]) # [2, 3, 4]
List 2 chiều thực chất là một list lồng list.
Có dữ liệu số sau đây, hãy thể hiện thành biến kiểu List 2 chiều
1 2 3
4 5 6
7 8 9
# Khai báo mảng 2 chiều (ma trận 3x3)
arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Truy cập phần tử dòng 1, cột 2 (chỉ số bắt đầu từ 0)
print(arr[0][1]) # Output: 2
# Thêm một hàng mới vào cuối
arr.append([10, 11, 12])
Có dữ liệu số sau đây, hãy thể hiện thành biến kiểu List 2 chiều
TT Tên Điểm
1 Trân A 8
2 Lê B 7
3 Thị Nâu 10
data = [
[1, "Trần A", 8],
[2, "Lê B", 7],
[3, "Thị Nâu", 10]
]
Min và Max cho cột chỉ định trong List
data = [
[1, "Trần A", 8],
[2, "Lê B", 7],
[3, "Thị Nâu", 10]
]
max_value = max(data, key=lambda x: x[2])
print("Học sinh điểm cao nhất:", max_value)
min_value = min(data, key=lambda x: x[2])
print("Học sinh điểm thấp nhất:",min_value)
Tính tổng điểm / SUM
# Tính tổng điểm
total = sum(row[2] for row in data)
print("Tổng điểm:", total)
Danh sách (list) là cấu trúc dữ liệu linh hoạt và phổ biến nhất trong Python để lưu trữ một tập hợp các phần tử, có thể thay đổi và hỗ trợ nhiều thao tác như thêm, xóa, sắp xếp, truy cập, v.v.
Tuple giống với danh sách nhưng không thể thay đổi sau khi tạo ra.
NumPy cung cấp các mảng hiệu quả và các phép toán toán học mạnh mẽ, đặc biệt hữu ích cho việc xử lý dữ liệu khoa học hoặc học máy.
Tìm kiếm: truy cap phan tu;cat danh sach (slicing);them phan tu;dung insert() de them phan tu tai mot vi tri cu the;xoa phan tu;
Trong Python, mảng không phải là một kiểu dữ liệu riêng biệt như trong các ngôn ngữ khác (như C hay Java).