Thay đổi giá trị phần tử trong một list python | Laptrinhcanban.com

Thay đổi giá trị phần tử trong một list python

Hướng dẫn cách thay đổi giá trị phần tử trong một list python. Bạn sẽ học được cách thay đổi giá trị phần tử trong một list python bằng nhiều phương pháp khác nhau sau bài học này.

Chúng ta có 2 phương pháp để thay đổi giá trị phần tử trong một list python như sau:

  • Sử dụng index : thay đổi giá trị một phần tử chỉ định trong list python
  • Sử dụng cắt (slice) list : thay đổi giá trị nhiều phần tử trong một phạm vi

Thay đổi giá trị một phần tử chỉ định trong list python thông qua index

Khi muốn thay đổi giá trị một phần tử chỉ định trong list python, chúng ta truy cập tới phần tử đó thông qua index và sau đó thay thế giá trị cũ của nó bằng một giá trị mới.

Cú pháp thay đối giá trị một phần tử thông qua index như sau:

org_list [ index ] = giá trị thay thế

Trong đó org_list là list ban đầu, và giá trị thay thế sẽ được dùng để thay thế phần tử có index chỉ định trong list ban đầu.

Hãy thử thay thế giá trị của phần tử thứ hai trong list (có index bằng 1) trong ví dụ sau đây:

list_quả = ["Táo", "Cam", "Dâu"]
print(list_quả)
#>> ["Táo", "Cam", "Dâu"]

# thay đổi giá trị của phần tử thứ hai trong list
list_quả[1] = "Nho"
print(mylist)
#>> ["Táo", "Nho", "Dâu"]

Như bạn thấy, phần tử Cam với index =1 được chỉ định bằng list_quả[1] đã được thay thế thành Nho sau khi thực hiện lệnh đổi giá trị.

Lưu ý, list python vốn là một dạng dữ liệu mà các phần tử trong đó được xắp xếp theo thứ tự và có thể thay đổi được giá trị sau khi được khai báo.
Do đó, sau khi chúng ta thay đổi giá trị của một phần tử trong list, về bản chất chỉ có giá trị của phần tử đó thay đổi, còn tính chất của list đó ( như tên list, loại dữ liệu, id của loại dữ liệu v.v..) không thay đổi. Và cách chúng ta dùng list đó cũng sẽ không thay đổi.

Ví dụ, thuộc tính id của một list cũng như cách truy cập giá trị của nó sẽ không bị thay đổi trước và sau khi chúng ta thay thế giá trị phần tử của nó.

list_quả = ["Táo", "Cam", "Dâu"]
print(list_quả)
#>>['Táo', 'Cam', 'Dâu']

print('id của loại dữ liệu =' + str(id(list_quả)))
#>> id của loại dữ liệu =139986404189376

list_quả[1] = "Nho"
print(list_quả)
#>>['Táo', 'Nho', 'Dâu']

print('id của loại dữ liệu =' + str(id(list_quả)))
#>>id của loại dữ liệu =139986404189376

Chúng ta đã thay đổi giá trị của phần tử trong list, và thuộc tính của list (id của loại dữ liệu list) không hề thay đổi.

Thay đổi giá trị nhiều phần tử trong một phạm vi của list | cắt (slice) list

Chúng ta có thể thay đổi giá trị của nhiều phần tử trong một phạm vi của list ban đầu bằng cách sử dụng chức năng cắt (slice) list python, với cú pháp sau đây:

list [index bắt đầu : index kết thúc] = list, chuỗi.. thay thế

Bằng việc chỉ định index bắt đầu và index kết thúc, chúng ta sẽ xác định được phạm vi các phần tử cần thay đổi giá trị từ list ban đầu. Sau đó, bằng việc chỉ định các giá trị sẽ thay thế phạm vi trên, chúng ta sẽ tiến hành thay đổi giá trị một loạt các phần tử trong list ban đầu.

Phương pháp chỉ định index cũng giống như với khi chúng ta cắt (slice) list, phạm vi bắt đầu bởi index của phần tử bắt đầu, và phạm vi kết thúc bằng index của phần tử kết thúc +1.
Các giá trị để thay thế phạm vi ở trên là một dãy các phần tử khác, với kiểu dữ liệu có thể là list, hoặc ký tự, tuple v.v..

Lưu ý, nếu bạn chỉ định dãy thay thế là một chuỗi ký tự, ví dụ là ABC, thì dãy này sẽ được coi là một list ký tự với các phần tử là từng chữ cái trong dãy, như là ["A", "B", "C"].

Ví dụ sau đây, chúng ta sẽ thay thế các phần tử trong phạm vi từ vị trí thứ hai tới thứ tư (tức index bắt đầu =1 , index kết thúc = 4) trong list sau đây:

mylist = ["A", "B", "C", "D", "E", "F"]
print(mylist)
#>> ["A", "B", "C", "D", "E", "F"]

# Thay đổi một loạt các phần tử từ có vị trí từ thứ hai tới thứ tư trong list
mylist[1:4] = ["1", "2", "3"]
print(mylist)
#>> ["A", "1", "2", "3", "E", "F"]

Lại nữa, số lượng các phần tử trong dãy thay thế không nhất thiết phải bằng với số lượng các phần tử trong phạm vi mà chúng ta đang cần thay thế.
Nhiều hơn cũng được mà ít hơn thì cũng không sao. Ví dụ như dưới đây, chúng ta sẽ dùng một dãy có ít phần tử hơn và thay thế các phần tử trong phạm vi của list ban đầu:

mylist = ["A", "B", "C", "D", "E", "F"]
print(mylist)
#>> ["A", "B", "C", "D", "E", "F"]

# Thay thế một loạt phần tử với một dãy có ít phần tử hơn.
mylist[1:4] = ["1", "2"]
print(mylist)
#>> ["A", "1", "2", E", "F"]

Ngoài ra, trong trường hợp bạn muốn nhảy cóc khi thay đổi giá trị của phần tử trong phạm vi chỉ định, ví dụ như bỏ phần tử thứ nhất, rồi thay đổi phần tử thứ hai, rồi lại bỏ qua phần tử thứ ba…,hãy dùng cách nhảy cóc khi cắt lát list như ví dụ sau đây:

mylist = ["A", "B", "C", "D", "E", "F"]
print(mylist)
#>> ["A", "B", "C", "D", "E", "F"]

# nhảy cóc một phần tử và thay đổi giá trị các phần tử khác từ vị trí thứ 2 tới thứ 6 trong list
mylist[1:7:2] = ["1", "2", "3"]
print(mylist)
#>> ["A", "1", "C", "2", "E", "3"]

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách thay đổi giá trị của phần tử trong list python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành với các ví dụ ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.