Hướng dẫn linked list pop python



Hàm List pop() trong Python xóa và trả về phần tử cuối cùng hoặc đối tượng obj có chỉ mục đã cung cấp từ list đã cho.


Cú pháp

Cú pháp của pop() trong Python:

Tham số:

  • obj: Đây là tham số tùy ý, là chỉ mục của đối tượng cần xóa từ List.


Ví dụ sau minh họa cách sử dụng của pop() trong Python.

list1 = ['java', 'python', 'c++', 'php', 'sql']
list1.pop() # xoa phan tu cuoi cung
print ("List : ", list1)
list1.pop(2) # xao phan tu co chi so la 2
print ("List : ", list1)

Chạy chương trình Python trên sẽ cho kết quả:

List :  ['java', 'python', 'c++', 'php']
List :  ['java', 'python', 'php']





Hàm List pop() trong Python xóa và trả về phần tử cuối cùng hoặc đối tượng obj có chỉ mục đã cung cấp từ list đã cho.

Nội dung chính

  • 1. Cú pháp List pop()
  • 2. Ví dụ List pop()
  • Lấy ra và xóa phần tử của list theo index | phương thức pop()
  • Xóa phần tử trong phạm vi chỉ định | lệnh del
  • Xóa phần tử đầu tiên trong list giống với giá trị chỉ định | list remove trong python
  • Xóa toàn bộ phần tử trong list python bằng phương thức clear()
  • Xóa phần tử trong list python theo điều kiện
  • Xóa phần tử trùng nhau trong list python | hàm set() python
  • Tổng kết


Cú pháp

Cú pháp của pop() trong Python:

Tham số:

  • obj: Đây là tham số tùy ý, là chỉ mục của đối tượng cần xóa từ List.


Ví dụ sau minh họa cách sử dụng của pop() trong Python.

list1 = ['java', 'python', 'c++', 'php', 'sql']
list1.pop() # xoa phan tu cuoi cung
print ("List : ", list1)
list1.pop(2) # xao phan tu co chi so la 2
print ("List : ", list1)

Chạy chương trình Python trên sẽ cho kết quả:

List :  ['java', 'python', 'c++', 'php']
List :  ['java', 'python', 'php']


Phương thức list.pop() dùng để xóa một phần tử được chỉ định ra khỏi danh sách, kết quả trả về của nó là phần tử bị loại bỏ.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cú pháp List pop()

Cú pháp của phương thức này như sau:

Trong đó index là vị trí của phần tử bạn muốn xóa. Nếu giá trị index truyền vào không tồn tại trong list thì nó sẽ trả về lỗi IndexError: pop index out of range.

Nếu bạn không truyền index thì mặc định nó sẽ xóa phần tử cuối cùng của List.

Bài viết này được đăng tại [free tuts .net]

Giá trị trả về: Phương thức pop() sẽ trả về phần tử bị xóa.

2. Ví dụ List pop()

Ví dụ dưới đây sẽ xóa phần tử tồn tại trong List nên thao tác đơn giản, kết quả cũng rất chuẩn.

# programming language list
language = ['Python', 'Java', 'C++', 'French', 'C']

# Return value from pop()
# When 3 is passed
return_value = language.pop(3)
print('Return Value: ', return_value)

# Updated List
print('Updated List: ', language)

Kết quả:

Return Value:  French
Updated List:  ['Python', 'Java', 'C++', 'C']

Sau khi xóa xong thì tổng số phần tử của list sẽ giảm đi một.

Tiếp theo là một ví dụ với các trường hợp khác như: index cần xóa không tồn tại, bạn truyền vào một số âm -1 ...

# programming language list
language = ['Python', 'Java', 'C++', 'Ruby', 'C']

# When index is not passed
print('When index is not passed:') 
print('Return Value: ', language.pop())
print('Updated List: ', language)

# When -1 is passed
# Pops Last Element
print('\nWhen -1 is passed:') 
print('Return Value: ', language.pop(-1))
print('Updated List: ', language)

# When -3 is passed
# Pops Third Last Element
print('\nWhen -3 is passed:') 
print('Return Value: ', language.pop(-3))
print('Updated List: ', language)

Khi bạn chạy chương trình này thì sẽ trả về kết quả sau:

When index is not passed:
Return Value:  C
Updated List:  ['Python', 'Java', 'C++', 'Ruby']

When -1 is passed:
Return Value:  Ruby
Updated List:  ['Python', 'Java', 'C++']

When -3 is passed:
Return Value:  Python
Updated List:  ['Java', 'C++']

Hãy để ý kỹ kết quả và so  sánh với trong code để trải nghiệm nhé.

Lời kết: Như vậy là mình đã giới thiệu xong phương thức list.pop() trong Python, chúc bạn học tốt.



Hàm List pop() trong Python xóa và trả về phần tử cuối cùng hoặc đối tượng obj có chỉ mục đã cung cấp từ list đã cho.

Nội dung chính

  • Lấy ra và xóa phần tử của list theo index | phương thức pop()
  • Xóa phần tử trong phạm vi chỉ định | lệnh del
  • Xóa phần tử đầu tiên trong list giống với giá trị chỉ định | list remove trong python
  • Xóa toàn bộ phần tử trong list python bằng phương thức clear()
  • Xóa phần tử trong list python theo điều kiện
  • Xóa phần tử trùng nhau trong list python | hàm set() python
  • Tổng kết

Cú pháp

Cú pháp của pop() trong Python:

Tham số:

  • obj: Đây là tham số tùy ý, là chỉ mục của đối tượng cần xóa từ List.


Ví dụ sau minh họa cách sử dụng của pop() trong Python.

list1 = ['java', 'python', 'c++', 'php', 'sql']
list1.pop() # xoa phan tu cuoi cung
print ("List : ", list1)
list1.pop(2) # xao phan tu co chi so la 2
print ("List : ", list1)

Chạy chương trình Python trên sẽ cho kết quả:

List :  ['java', 'python', 'c++', 'php']
List :  ['java', 'python', 'php']




Hàm List pop() trong Python xóa và trả về phần tử cuối cùng hoặc đối tượng obj có chỉ mục đã cung cấp từ list đã cho.


Cú pháp

Cú pháp của pop() trong Python:

Tham số:

  • obj: Đây là tham số tùy ý, là chỉ mục của đối tượng cần xóa từ List.


Ví dụ sau minh họa cách sử dụng của pop() trong Python.

list1 = ['java', 'python', 'c++', 'php', 'sql'] list1.pop() # xoa phan tu cuoi cung print ("List : ", list1) list1.pop(2) # xao phan tu co chi so la 2 print ("List : ", list1)

Chạy chương trình Python trên sẽ cho kết quả:

List : ['java', 'python', 'c++', 'php'] List : ['java', 'python', 'php']



Pop không tồn tại cho mảng NumPy, nhưng bạn có thể sử dụng lập chỉ mục NumPy kết hợp với tái cấu trúc mảng, ví dụ: hstack / vstack hoặc numpy.delete (), để mô phỏng popping.

Dưới đây là một số hàm ví dụ mà tôi có thể nghĩ ra (dường như không hoạt động khi chỉ mục là -1, nhưng bạn có thể sửa lỗi này bằng một điều kiện đơn giản):

def poprow(my_array,pr):
    """ row popping in numpy arrays
    Input: my_array - NumPy array, pr: row index to pop out
    Output: [new_array,popped_row] """
    i = pr
    pop = my_array[i]
    new_array = np.vstack((my_array[:i],my_array[i+1:]))
    return [new_array,pop]

def popcol(my_array,pc):
    """ column popping in numpy arrays
    Input: my_array: NumPy array, pc: column index to pop out
    Output: [new_array,popped_col] """
    i = pc
    pop = my_array[:,i]
    new_array = np.hstack((my_array[:,:i],my_array[:,i+1:]))
    return [new_array,pop]

Điều này trả về mảng không có hàng / cột được bật lên, cũng như hàng / cột được bật lên riêng biệt:

>>> A = np.array([[1,2,3],[4,5,6]])
>>> [A,poparow] = poprow(A,0)
>>> poparow
array([1, 2, 3])

>>> A = np.array([[1,2,3],[4,5,6]])
>>> [A,popacol] = popcol(A,2)
>>> popacol
array([3, 6])

4 hữu ích 0 bình luận chia sẻ

Nội dung chính

  • Lấy ra và xóa phần tử của list theo index | phương thức pop()
  • Xóa phần tử trong phạm vi chỉ định | lệnh del
  • Xóa phần tử đầu tiên trong list giống với giá trị chỉ định | list remove trong python
  • Xóa toàn bộ phần tử trong list python bằng phương thức clear()
  • Xóa phần tử trong list python theo điều kiện
  • Xóa phần tử trùng nhau trong list python | hàm set() python
  • Tổng kết

Hướng dẫn tất cả các cách xóa phần tử trong list python. Bạn sẽ học được tất cả cách xóa phần tử trong list python như xóa phần tử trong list theo index, xóa phần tử giống với giá trị chỉ định, xóa phần tử trong list python tại một phạm vi , hay là xóa toàn bộ phần tử trong list, thông qua các phương pháp sử dụng lệnh del, phương thức pop(), list remove trong pythonphương thức clear() sau bài học này.

Chúng ta có 5 phương pháp để xóa phần tử trong list python như sau:

  • phương thức pop(): lấy ra và xóa phần tử của list theo index
  • list remove trong python: xóa phần tử đầu tiên trong list giống với giá trị chỉ định
  • câu lệnh del: Xóa phần tử trong phạm vi chỉ định
  • phương thức clear(): xóa tất cả các phần tử
  • List comprehension trong python : xóa phần tử theo điều kiện

Lại nữa trong trường hợp đặc biệt bạn muốn xóa phần tử trùng nhau trong list python , hãy xem bài viết Xóa phần tử trùng nhau trong list python.

Lấy ra và xóa phần tử của list theo index | phương thức pop()

Phương thức pop() sẽ lấy phần tử ra và sau đó xóa nó khỏi list tại vị trí index được chỉ định.

Chúng ta chỉ định index của phần tử cần xóa làm đối số của phương thức pop() và xóa phần tử đó khỏi list bằng cú pháp sau đây:

list. pop( index )

Trong đó list là list cần xóa phần tử và index là index của phần tử cần xóa.

Ví dụ:

mylist = ['red', 'blue', 'yellow', 'black']
print(mylist)


popped1 = mylist.pop(2)
print(popped1)


print(mylist)

Nếu chỉ định index bằng -1, bạn cũng có thể xóa phần tử cuối cùng của list như sau:

mylist = ['red', 'blue', 'yellow', 'black']
popped1 = mylist.pop(-1)
print(mylist)

Bạn cũng có thể xóa phần tử cuối cùng của list bằng cách lược bỏ đối số index trong hàm pop() như sau:

mylist = ['red', 'blue', 'yellow', 'black']
popped1 = mylist.pop()
print(mylist)

Chú ý khi dùng phương thức pop(), trong trường hợp chỉ định đối số index không tồn tại trong list, lỗi IndexError sẽ xảy ra:

mylist = ['red', 'blue', 'yellow', 'black']
popped1 = mylist.pop(5)


Xóa phần tử trong phạm vi chỉ định | lệnh del

Lệnh del giúp chúng ta xóa đi các phần tử trong một phạm vi chỉ định trong list. Phạm vi này sẽ được chỉ định cách sử dụng chức năng cắt (slice) list trong python.

  • Tham khảo thêm : Cắt (slice) list trong python

Chúng ta sử dụng lệnh del trong python với hai kiểu cú pháp sau đây:
Xóa một phần tử trong list python bằng lệnh del:

del list [ index ]

Xóa nhiều phần tử trong phạm vi chỉ định bằng lệnh del:

del list [ start : end]

Ví dụ, chúng ta có thể sử dụng lệnh del để xóa một phần tử trong list python như sau:

mylist = ['red', 'blue', 'yellow', 'black']
print(mylist)


del mylist[2]
print(mylist)


del mylist[3]
print(mylist)

Hoặc chúng ta có thể sử dụng lệnh del để xóa các phần tử trong phạm vi chỉ định trong python như sau:

mylist = ['red', 'blue', 'yellow', 'black']
print(mylist)


del mylist[1:3]
print(mylist)

Chúng ta cũng có thể xóa toàn bộ phần tử trong list python bằng lệnh del như sau:

mylist = ['red', 'blue', 'yellow', 'black']
del mylist[:]
print(mylist)

Lại nữa, bằng cách sử dụng step trong slice list python, chúng ta có thể nhảy cóc và xóa phần tử trong list python bằng lệnh del như sau:

l = list(range(10))
del l[2:8:2]
print(l)


l = list(range(10))
del l[::3]
print(l)

Xóa phần tử đầu tiên trong list giống với giá trị chỉ định | list remove trong python

List remove trong python là phương thức được sử dụng để tìm ra phần tử đầu tiên trong list có giá trị giống với đối số chỉ định và xóa nó khỏi list.

Chúng ta sử dụng phương thức remove() trong python với cú pháp sau đây:

list.remove(value)

Trong đó list là list cần xóa phần tử và value là giá trị của phần tử cần xóa khỏi list.

Ví dụ, chúng ta sử dụng list remove trong python để xóa phần tử trong list như sau:

mylist = ['red', 'blue', 'yellow', 'black' , 'blue']
print(mylist)


mylist.remove('yellow')
print(mylist)

Lưu ý là phương thức remove() chỉ xóa đi phần tử đầu tiên tính từ trái qua phải trong list, nếu phần tử đó tồn tại mà thôi. Ví dụ:

mylist = ['red', 'blue', 'yellow', 'black' , 'blue']
print(mylist)


mylist.remove('blue')
print(mylist)

Lại nữa, trong trường hợp giá trị chỉ đinh không tồn tại trong list, lỗi ValueError sẽ xảy ra

mylist = ['red', 'blue', 'yellow', 'black']
mylist.remove('gray')


Xóa toàn bộ phần tử trong list python bằng phương thức clear()

Phương thức clear() sẽ xóa toàn bộ phần tử trong list và làm rỗng list đó.
Chúng ta sẽ dùng phương thức clear() trong python với cú pháp sau đây:

list.clear()

Lưu ý là toàn bộ phần tử có trong list sẽ bị xóa, tuy nhiên bản thân đối tượng list sẽ không bị xóa đi mà chỉ bị làm rỗng.

Ví dụ:

mylist = ["A","B","C"]

mylist.clear()
print(mylist)

Xóa phần tử trong list python theo điều kiện

Chúng ta có thể ứng list comprehension để xóa phần tử trong list python. Mặc dù nói xóa phần tử theo điều kiện, nhưng thực tế thì chúng ta không xóa list cũ đi mà là lấy các phần tử theo điều kiện đã cho từ list cũ và tạo ra một list mới không chứa phần tử cần xóa.

Ví dụ khi chúng ta muốn xóa các phần tử là số lẻ trong một dãy số liên tiếp chẳng hạn, chúng ta sử dụng list comprehension như sau:

mynum = list(range(10))
print(mynum)


xóa_số_lẻ = [num for num in mynum if num % 2 = 0]
print(xóa_số_lẻ)


xóa_số_chẵn = [num for num in mynum if num % 2 = 1]
print(xóa_số_chẵn)

Chúng ta cũng có thể làm tương tự với chuỗi string:

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)


print([s for s in l if s != 'Bob'])


print([s for s in l if s.endswith('e')])

  • Xem thêm :List comprehension trong python

Xóa phần tử trùng nhau trong list python | hàm set() python

Chúng ta có rất nhiều phương pháp để xóa phần tử trùng nhau trong list python, tiêu biểu là cách sử dụng hàm set() trong ví dụ sau:

mylist = ['red', 'blue', 'yellow', 'black' , 'blue']
unique_list=list(set(mylist))
print(unique_list)

Chi tiết về cách xóa phần tử trùng nhau trong list python bằng hàm set() cũng như các phương pháp khác hãy xem tại bài Xóa phần tử trùng nhau trong list python.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn tất cả các cách xó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 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.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> python cơ bản - lập trình python cho người mới bắt đầu>>10. list trong python

Bài sau

Subprocess trong Python và gọi một lệnh hoặc ứng dụng khác từ Python

Bài tiếp

Xóa phần tử trùng nhau trong list python