Việc thay đổi phần tử list trong Python là thao tác cơ bản mà bất kỳ lập trình viên nào cũng cần nắm vững. Bài viết này mình sẽ giới thiệu một số phương pháp phổ biến để thực hiện việc này, từ thay đổi từng phần tử đơn lẻ cho tới các cách thay đổi giá trị, cũng như phạm vi phần tử.
Các điểm chính
Khi đọc xong bài viết, bạn sẽ:
- Nắm vững kiến thức cơ bản về list và cách thay đổi giá trị của phần tử: Bạn sẽ hiểu rõ list là gì, tại sao cần thay đổi phần tử trong list và nắm được cú pháp cơ bản để thực hiện điều này.
- Biết cách thay đổi một hoặc nhiều phần tử liên tiếp trong list: Không chỉ thay đổi một phần tử, bạn còn học được cách cập nhật hàng loạt các phần tử liền kề trong list một cách hiệu quả.
- Hiểu rõ cách thay đổi một phạm vi (range) các phần tử trong list: Bài viết sẽ cung cấp cho bạn kiến thức để chọn một phần, một đoạn (range) các phần tử và thay đổi chúng một cách chính xác.
- Áp dụng các ví dụ minh họa cụ thể vào thực tế lập trình: Bài viết cung cấp các ví dụ dễ hiểu, giúp bạn tự tin áp dụng kiến thức vào các bài toán lập trình thực tế của mình.
- Biết đến Vietnix – Nhà cung cấp dịch vụ VPS mạnh mẽ với công nghệ tiên tiến.
Thay đổi phần tử list trong Python
Thay đổi phần tử List trong Python là việc gán giá trị mới cho một hoặc nhiều vị trí (index) cụ thể trong List đã có sẵn. Vì List là kiểu dữ liệu có thể thay đổi (mutable), thao tác này sẽ trực tiếp chỉnh sửa nội dung của List đó trong bộ nhớ mà không cần tạo ra một List mới.

Cú Pháp
tên_list[chỉ_số] = giá_trị_mới
Ví dụ
Trong đoạn code sau, chúng ta thay đổi giá trị tại vị trí có chỉ số 2
của List cho trước:
danh_sach_diem = [7, 8, 9, 6, 10]
print("List ban đầu: ", danh_sach_diem)
danh_sach_diem[2] = 5 # Thay điểm 9 bằng điểm 5
print("List sau khi thay đổi: ", danh_sach_diem)
Kết quả khi chạy code:
List ban đầu: [7, 8, 9, 6, 10]
List sau khi thay đổi: [7, 8, 5, 6, 10]
Giải thích Code:
danh_sach_diem = [7, 8, 9, 6, 10]
: Tạo mộtlist
có tên làdanh_sach_diem
chứa các điểm số.print("List ban đầu: ", danh_sach_diem)
: Inlist
danh_sach_diem
ban đầu ra màn hình.danh_sach_diem[2] = 5
: Đây là phần quan trọng. Câu lệnh này gán giá trị mới (5) vào vị trí có chỉ số là 2 tronglist
danh_sach_diem
. Hãy nhớ rằng, trong Python, chỉ số củalist
bắt đầu từ 0. Vì vậy, phần tử có chỉ số 2 chính là phần tử thứ ba tronglist
(ban đầu là số 9).print("List sau khi thay đổi: ", danh_sach_diem)
: Inlist
ra sau khi đã thay đổi giá trị.
Thay đổi các phần tử liên tiếp trong list
Bạn có thể thay thế nhiều phần tử liên tiếp trong một List bằng một List con (sublist) khác. Ví dụ, Trong đoạn mã sau, các phần tử tại vị trí chỉ số 1
và 2
sẽ được thay thế bằng các phần tử trong một List con khác.
danh_sach_ban_dau = ["cam", "xoai", "coc", "oi"]
print("List ban đầu: ", danh_sach_ban_dau)
danh_sach_thay_the = ['tao', 'le']
danh_sach_ban_dau[1:3] = danh_sach_thay_the
print("List sau khi thay đổi: ", danh_sach_ban_dau)
Kết quả khi chạy:‘
List ban đầu: [‘cam’, ‘xoai’, ‘coc’, ‘oi’]
List sau khi thay đổi: [‘cam’, ‘tao’, ‘le’, ‘oi’]
Giải thích:
danh_sach_ban_dau = ["cam", "xoai", "coc", "oi"]
: Tạo một List ban đầu gồm các loại quả.print("List ban đầu: ", danh_sach_ban_dau)
: In List ban đầu ra màn hình.danh_sach_thay_the = ['tao', 'le']
: Tạo một List con chứa các loại quả khác dùng để thay thế.danh_sach_ban_dau[1:3] = danh_sach_thay_the
: Đây là phần quan trọng. Câu lệnh này thực hiện thay thế một phần củadanh_sach_ban_dau
.danh_sach_ban_dau[1:3]
: Phần này được gọi là “slicing”. Nó chọn ra một phần của List, bắt đầu từ index 1 (phần tử thứ hai, “xoai”) và trước index 3 (tức là bao gồm index 2, phần tử “coc”). Vậy, phần được chọn là["xoai", "coc"]
.= danh_sach_thay_the
: Gándanh_sach_thay_the
vào vị trí vừa được chọn. Điều này có nghĩa là “xoai” và “coc” sẽ được thay thế bằng “tao” và “le”.print("List sau khi thay đổi: ", danh_sach_ban_dau)
: In List đã thay đổi ra màn hình.
Thay đổi một phạm vi phần tử trong list
Nếu List nguồn (List dùng để thay thế) có nhiều phần tử hơn so với phần (slice) cần thay thế, các phần tử thừa trong List nguồn sẽ được chèn vào. Hãy xem xét đoạn code sau:
Ví dụ 1
list1 = ["a", "b", "c", "d"]
print("List ban đầu: ", list1)
list2 = ['X', 'Y', 'Z']
list1[1:3] = list2
print("List sau khi thay đổi: ", list1)
Kết quả khi chạy code:
List ban đầu: [‘a’, ‘b’, ‘c’, ‘d’]
List sau khi thay đổi: [‘a’, ‘X’, ‘Y’, ‘Z’, ‘d’]
Giải thích:
- list1 ban đầu là
['a', 'b', 'c', 'd']
. - list2 là
['X', 'Y', 'Z']
. list1[1:3] = list2
: Câu lệnhlist1[1:3] = list2
có nghĩa là: Thay thế các phần tử từ vị trí 1 đến (nhưng không bao gồm) vị trí 3 củalist1
(tức là ‘b’ và ‘c’) bằng các phần tử củalist2
.- Kết quả là: Phần tử ‘b’ và ‘c’ của
list1
sẽ bị thay bằng ‘X’, ‘Y’, ‘Z’, thêm ‘Z’ vìlist2
có 3 phần tử.
Ví dụ 2
Nếu List dùng để thay thế có ít phần tử hơn so với phần (slice) của List ban đầu cần thay thế, các phần tử tương ứng sẽ được thay thế và các phần tử còn lại trong phạm vi slice của List ban đầu sẽ bị loại bỏ. Trong đoạn code dưới đây, chúng ta thử thay thế "b"
và "c"
bằng "Z"
(ít hơn một phần tử so với số phần tử cần thay thế). Kết quả là Z
thay thế "b"
và "c"
bị loại bỏ.
list1 = ["a", "b", "c", "d"]
print("List ban đầu: ", list1)
list2 = ['Z']
list1[1:3] = list2
print("List sau khi thay thế:", list1)
Kết quả:
List ban đầu: [‘a’, ‘b’, ‘c’, ‘d’]
List sau khi thay thế: [‘a’, ‘Z’, ‘d’]
Giải thích:
- list1 ban đầu là
['a', 'b', 'c', 'd']
. - list2 là
['Z']
. list1[1:3] = list2
: Câu lệnhlist1[1:3] = list2
nghĩa là: Thay thế các phần tử từ vị trí 1 đến (nhưng không bao gồm) vị trí 3 củalist1
(tức là ‘b’ và ‘c’) bằng các phần tử củalist2
.- Vì
list2
chỉ có một phần tử là ‘Z’, nên ‘Z’ sẽ thay thế cho ‘b’, và ‘c’ sẽ bị xóa.
Vietnix – Nhà cung cấp dịch vụ VPS mạnh mẽ với công nghệ tiên tiến
Vietnix cung cấp dịch vụ server VPS Việt Nam hiệu suất cao với ổ cứng SSD/NVMe Enterprise, CPU Intel Xeon và AMD, giúp tối ưu tốc độ tải trang và trải nghiệm người dùng. Công nghệ ảo hóa tiên tiến kết hợp tốc độ mạng 200 Mbps trong nước, 20 Mbps quốc tế, đảm bảo website hoạt động ổn định. Dữ liệu được sao lưu tự động hàng tuần, lưu trữ trên server độc lập, dễ dàng khôi phục khi cần. Giao diện quản trị Portal hiện đại, hỗ trợ Start/Stop/Reset VPS, noVNC Console và theo dõi tài nguyên hệ thống. Với hơn 12 năm kinh nghiệm, Vietnix là lựa chọn đáng tin cậy cho mọi doanh nghiệp và cá nhân.
Nếu bạn cần một giải pháp tối ưu hơn về tốc độ và hiệu suất, VPS SSD tại Vietnix là lựa chọn hoàn hảo. Hệ thống sử dụng 100% ổ cứng SSD tốc độ cao, đảm bảo vận hành mượt mà và tăng tốc độ truy xuất dữ liệu. Datacenter đạt chuẩn Tier 3, tốc độ mạng 200 Mbps trong nước, 20 Mbps quốc tế giúp kết nối nhanh chóng và ổn định. Dữ liệu được bảo vệ với cơ chế sao lưu tự động hàng tuần và tùy chọn mua thêm bản sao lưu.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Vậy là chúng ta đã cùng nhau tìm hiểu chi tiết về các cách thay đổi phần tử trong list của Python, từ thay đổi từng phần tử đơn lẻ cho đến thay đổi hàng loạt phần tử liên tiếp. Hy vọng những kiến thức và ví dụ minh họa trong bài viết này sẽ hữu ích cho bạn trong quá trình lập trình.
Mọi người cũng đọc