Chèn phần tử vào list python (insert, slice) | Laptrinhcanban.com

Chèn phần tử vào list python (insert, slice)

Hướng dẫn tất cả các cách chèn phần tử vào list python. Bạn sẽ học được các cách chèn phần tử vào list python như chèn một phần tử vào vị trí chỉ định trong list ban đầu, chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu, cũng như cách chèn và thay thế nhiều phần tử vào phạm vi chỉ định trong list ban đầu, bằng cách sử dụng phương thức insert() và chức năng cắt (slice) list python sau bài học này.

Chúng ta có 3 phương pháp để chèn phần tử vào list python như sau:

  • Phương thức insert() : chèn một phần tử vào vị trí chỉ định trong list ban đầu.
  • Cắt (slice) list : Chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu
  • Cắt (slice) list : Thay thế và chèn nhiều phần tử vào phạm vi chỉ định trong list ban đầu

Lại nữa trong trường hợp bạn chỉ muốn thêm chèn phần tử vào cuối một list python, hãy sử dụng các phương thức khác như append() hay extend() trong bài viết thêm phần tử vào list và kết hợp các list với nhau trong python nhé.

Chèn một phần tử vào vị trí chỉ định trong list ban đầu | phương thức insert()

Phương thức insert() trong python được dùng để chèn một phần tử vào vị trí chỉ định trong list python. Chúng ta sử dụng phương thức insert() với cú pháp sau đây:

org_list.insert (index, giá trị)

Trong đó:

  • org_list là list ban đầu
  • index là vị trí cần chèn phần tử trong list ban đầu
  • giá trị là giá trị của phần tử cần chèn vào list. Giá trị này có thể là một chuỗi hoặc một số.

Phương thức insert() sẽ chèn giá trị vào vị trí trước phần tử có index được chỉ định trong list ban đầu.

Ví dụ cụ thể, chúng ta chèn một chuỗi ký tự vào list python như sau

mylist = ["A", "B", "C"]
mylist.insert(1, "Z")

print(mylist)
#>> ["A", "Z", "B", "C"]

Bạn có thể thấy ký tự Z đã được chèn vào vị trí đứng trước ký tự B có index bằng 1.

Trong trường hợp chỉ định giá trị chèn vào là một chuỗi string, thì bản thân chuỗi string đó sẽ được coi như là một phần tử mới và được chèn vào list ban đầu như sau:

mylist = ["Blue", "Red", "Green"]

# Chèn chuỗi 'White' vào trước phần tử có index bằng 2
mylist.insert(2, "White")
print(mylist)
#>> ['Blue', 'Red', 'White', 'Green']

# Chèn chuỗi 'Black' vào đầu list
mylist.insert(0, "Black")
print(mylist)
#>> ['Black', 'Blue', 'Red', 'White', 'Green']

Nếu bạn muốn lấy từng ký tự trong chuỗi chỉ định và chèn vào list ban đầu, hãy xem ở phần dưới nhé.

Tương tự với chuỗi, bạn cũng có thể chèn một số vào list python bằng cách sử dụng phương thức insert() như sau:

mynum = [1, 2, 3, 4, 5]
mynum.insert(3, 6)

print(mynum)
#>> [1, 2, 3, 6, 4, 5]


mylist = ["A", "B", "C"]
mylist.insert(1, 3)

print(mylist)
#>> ['A', 3, 'B', 'C']

Lưu ý là với phương thức insert() chúng ta chỉ có thể chèn một phần tử vào list python mà thôi.

Chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu | cắt (slice) list

Bằng cách ứng dụng chức năng cắt (slice) list, chúng ta có thể chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu thông qua một list, một tuple hoặc một chuỗi.

Ý tưởng ở đây là chúng ta sẽ lưu giữ tất cả các phần tử cần chèn vào trong một tuple, chuỗi, hoặc list, sau đó sử dụng cắt (slice) list để cắt một phạm vi trống ở list ban đầu, rồi chèn vào đó các phần tử trong tuple, chuỗi, hoặc list chỉ định.

Cú pháp chúng ta sử dụng sẽ là:

org_list [index : index ] = tuple,string,list

Trong đó org_list là list ban đầu, index là vị trí cần chèn, và tuple,string, hoặc list dùng để chỉ định các phần tử cần thêm vào list ban đầu.

Ví dụ cụ thể, chúng ta chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu thông qua list như sau:

mynum = list(range(3))
print(mynum)
#>> [0, 1, 2]

mynum[1:1] = [4, 5, 6]
print(mynum)
#>> [0, 4, 5, 6, 1, 2]

Một ví dụ khác khi chúng ta sử dụng tuple để chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu.

mylist = ["A", "B", "C"]
mylist[2:2] = ('E', 'F')

print(mylist)
#>> ['A', 'B', 'E', 'F', 'C']

Lưu ý là khi chúng ta sử dụng chuỗi string để chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu bằng cắt (slice) list, không phải là cả chuỗi đó được thêm vào như một phần tử mới, mà là từng ký tự trong chuỗi được lấy ra và thêm vào list. Ví dụ:

mylist = ["A", "B", "C"]
mylist[2:2] = 'EFG'

print(mylist)
#>> ['A', 'B', 'E', 'F', 'G', 'C']

Bằng cách ứng dụng cắt (slice) list, chúng ta cũng có thể chèn phần tử vào vị trí cuối cùng trong list python như sau:

mylist = ["1", "2", "3"]
length = len(mylist)

mylist[length:length] = ["4", "5"]
print(mylist)
#>> ['1', '2', '3', '4', '5']

Thay thế và chèn nhiều phần tử vào phạm vi chỉ định trong list ban đầu | cắt (slice) list

Một cách sử dụng khác của cắt (slice) list, chúng ta có thể vừa chèn vừa thay thế nhiều phần tử vào phạm vi chỉ định trong list ban đầu thông qua một list, tuple hoặc chuỗi string.

Ý tưởng ở đây là chúng ta sẽ cắt toàn bộ các phần tử trong một phạm vi ở list ban đầu, rồi chèn vào đó các phần tử mới đã được chứa trong tuple,string,list chỉ định.

Cú pháp chúng ta sử dụng sẽ là:

org_list [start_index : end_index ] = tuple,string,list

Trong đó org_list là list ban đầu, start_index và end_index là phạm vi cắt ra và chèn mới phần tử vào trong list ban đầu. Còn tuple,string,list là để chứa các phần tử mới cần chèn vào.

Ví dụ, chúng ta thay thế và chèn mới toàn bộ phần tử trong phạm vi index [1:3] trong list ban đầu như sau:

mynum = list(range(5))
print(mynum)
#>> [0, 1, 2, 3, 4]

mynum[1:3] = [7, 8, 9]
print(mynum)
#>> [0, 7, 8, 9, 3, 4]

Chúng ta cũng có thể sử dụng với tuple hoặc chuỗi như sau:

mynum = list(range(5))
print(mynum)
#>> [0, 1, 2, 3, 4]

mynum[1:3] = (7, 8, 9)
print(mynum)
#>> [0, 7, 8, 9, 3, 4]

mynum[1:2] = "ABC"
print(mynum)
#>> [0, 'A', 'B', 'C', 8, 9, 3, 4]

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách cách chèn phần tử vào list python bằng phương thức insert hoặc chức năng cắt (slice) list python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của 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.