Xóa danh sách python không đúng chỗ

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để xóa một mục khỏi danh sách. Bạn sẽ tìm hiểu cách thực hiện việc này bằng cách sử dụng các phương thức pop, remove, del và clear, cũng như cách xóa chỉ một phiên bản của một mục hoặc tất cả các phiên bản. Bạn cũng sẽ học cách xóa nhiều mục trong danh sách Python một cách có điều kiện

Danh sách Python là kiểu dữ liệu có thể thay đổi, nghĩa là chúng có thể được thay đổi. Chúng cũng được lập chỉ mục, nghĩa là thứ tự của chúng có ý nghĩa quan trọng và các mục đó có thể được truy cập [và sửa đổi] dựa trên vị trí chỉ mục của chúng. Có thể làm việc với danh sách và biết cách loại bỏ các mục là một kỹ năng quan trọng. Ví dụ: bạn có thể đang xây dựng một trò chơi mà bạn cần xóa các mục khi người chơi chọn chúng

Python cung cấp một số phương thức khác nhau để xóa các mục khỏi danh sách. Bên dưới, bạn sẽ tìm thấy tóm tắt nhanh về các phương pháp khác nhau và cách chúng xóa các mục. Trong các phần bên dưới, bạn sẽ tìm thấy các hướng dẫn chuyên sâu về cách các chức năng này hoạt động

Phương thức Nó làm gì
# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
4Xóa một mục tại vị trí chỉ mục và trả về nó
# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
5Xóa mục đầu tiên khớp với một giá trị cắt lát Có thể được sử dụng để xóa các phạm vi dữ liệu không khớpcâu lệnh
# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
6Xóa một mục tại vị trí chỉ mục và không trả lại nó
# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
7Xóa tất cả các mục trong danh sách PythonCó nhiều cách để

Câu trả lời nhanh. Sử dụng pop, remove và del

Mục lục

  • Phương pháp xóa Python để xóa mục danh sách dựa trên giá trị của nó
  • Python Xóa tất cả các mục khớp với một giá trị
  • Phương pháp Python Pop để xóa một mục danh sách dựa trên vị trí chỉ mục
  • Python del Phương pháp để xóa một mục danh sách dựa trên vị trí chỉ mục và không trả lại nó
  • Xóa tất cả các mục khỏi danh sách Python bằng Clear
  • Xóa các mục khỏi danh sách Python bằng Slicing
  • Xóa các mục cho danh sách Python dựa trên điều kiện
  • Phần kết luận

Phương pháp xóa Python để xóa mục danh sách dựa trên giá trị của nó

Python giúp dễ dàng xóa một mục danh sách dựa trên giá trị của nó bằng cách sử dụng phương pháp Python list

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
8. Phương thức quét danh sách để tìm phiên bản đầu tiên của giá trị đó và xóa phiên bản đầu tiên của giá trị đó

Hãy xem cách chúng ta có thể sử dụng phương pháp danh sách

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
9 để xóa một mục khỏi danh sách

# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[1]

print[values]

# Returns: ['datagy', 2, 3, 'datagy']

Chúng tôi đã áp dụng phương thức xóa cho danh sách của mình, tại chỗ - nghĩa là chúng tôi không cần chỉ định lại các giá trị

Nhưng điều gì sẽ xảy ra nếu chúng ta cố xóa một mục không tồn tại?

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list

Chúng ta có thể thấy rằng khi chúng ta cố gắng sử dụng phương pháp

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
8 để xóa một mục không tồn tại, thì một
# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']
1 sẽ được trả về. Nếu bạn không chắc liệu một giá trị có tồn tại trong danh sách hay không và không muốn chương trình của mình gặp sự cố, bạn có thể gói phương thức đó trong khối thử-ngoại trừ

Hãy xem làm thế nào chúng ta có thể làm điều đó dưới đây

# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']

Ở đây chúng ta có thể thấy rằng khi

# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']
1 được nâng lên thì mã này sẽ bỏ qua và không làm gì cả

Trong phần tiếp theo, bạn sẽ học cách sử dụng phương thức

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
8 của Python để xóa tất cả các mục khớp với một giá trị

Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ của chúng tôi về cách tạo kiểu cho Pandas và tổng quan toàn diện của chúng tôi về Pivot Tables trong Pandas

Python Xóa tất cả các mục khớp với một giá trị

Như được hiển thị bên dưới, phương thức Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
9 chỉ xóa phiên bản đầu tiên của mục đó trong danh sách. Nếu bạn muốn xóa tất cả các phiên bản của mục đó trong danh sách thì sao?

Cụ thể, vòng lặp while của chúng tôi sẽ tiếp tục xóa mục khỏi danh sách của chúng tôi trong khi mục đó vẫn tồn tại trong danh sách của chúng tôi. Hãy xem cách nó hoạt động trong Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
4

Chúng ta có thể thấy ở đây rằng phương thức xóa được áp dụng nhiều lần vì mục 'datagy' vẫn còn trong danh sách của chúng ta. Tại thời điểm đó, mã sẽ tiếp tục và in ra các giá trị trong danh sách của chúng tôi

Một cách khác mà chúng ta có thể làm điều này là sử dụng khả năng hiểu danh sách. Chúng tôi có thể có vòng lặp hiểu danh sách trên từng mục trong danh sách của mình để xem liệu mục đó có bằng mục chúng tôi muốn xóa không. Nếu không, thì chúng tôi sẽ đưa nó vào danh sách mới của mình

Hãy xem nó trông như thế nào trong Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
5

Trong ví dụ trên, chúng tôi đã lặp lại từng mục trong danh sách của mình và bao gồm giá trị nếu mục đó không bằng với mục chúng tôi muốn xóa

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng phương thức

# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']
5 của Python để xóa mục danh sách dựa trên vị trí chỉ mục của nó

Bạn muốn tìm hiểu thêm về chuỗi f Python?

Phương pháp Python Pop để xóa một mục danh sách dựa trên vị trí chỉ mục

Phương thức Python

# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']
5 là một phương thức danh sách thường được sử dụng để xóa một mục khỏi danh sách và trả về nó. Trong khi phương thức remove xóa một mục dựa trên giá trị của nó, thì phương thức pop sẽ xóa một mục dựa trên chỉ mục của nó. Khi bạn sử dụng phương thức pop, chúng tôi chỉ định chỉ mục của mục và bật nó lên, nghĩa là chúng tôi trả lại mục đó và xóa mục đó khỏi danh sách

Hãy xem cách nó hoạt động trong Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
8

Chúng ta có thể thấy rằng khi chúng ta bật một mục tồn tại, thì giá trị đó sẽ bị xóa khỏi danh sách và được trả về

Làm thế nào để chúng tôi truy cập vào mục popped? . Hãy xem làm thế nào chúng ta có thể làm điều này

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
9

Hãy xem điều gì sẽ xảy ra khi chúng ta thử áp dụng phương pháp

# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']
5 trên một mặt hàng không tồn tại

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
1

Chúng ta có thể thấy rằng khi chúng ta cố gắng bật một mục không tồn tại, thì chúng ta sẽ trả về một

# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']
8

Trong phần tiếp theo, bạn sẽ tìm hiểu cách xóa một mục bằng phương pháp

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
6 dựa trên chỉ mục của danh sách, nhưng không trả lại mục đó

Cần kiểm tra xem một khóa có tồn tại trong từ điển Python không?

Python del Phương pháp để xóa một mục danh sách dựa trên vị trí chỉ mục và không trả lại nó

Toán tử

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
6 của Python tương tự như phương thức
# Remove a list item by value using .remove[]
values = ['datagy', 1, 2, 3, 'datagy']
try:
    values.remove[4]
except ValueError:
    pass
print[values]

# Returns: ['datagy', 1, 2, 3, 'datagy']
5 của Python, ở chỗ nó loại bỏ một mục danh sách dựa trên vị trí của nó. Nó khác với phương thức pop ở chỗ phương thức loại bỏ mục nhưng không trả lại nó

Toán tử

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
6 đi xa hơn và cho phép chúng tôi xóa một phần các mục khỏi danh sách

Hãy xem cách chúng ta có thể thực hiện cả hai điều này bằng cách sử dụng toán tử del của Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
7

Chúng ta có thể thấy rằng cả hai chúng ta đều có thể xóa một mục hoặc một phần mục khỏi danh sách trong Python

Nhưng điều gì sẽ xảy ra khi chúng ta cố xóa một mục ở vị trí không tồn tại? . Hãy xem điều này xảy ra như thế nào

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
9

Trong phần tiếp theo, bạn sẽ tìm hiểu cách xóa tất cả các mục khỏi danh sách Python bằng phương thức xóa

Bạn muốn tìm hiểu cách sử dụng hàm Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
44 để lặp qua hai danh sách?

Xóa tất cả các mục khỏi danh sách Python bằng Clear

Có thể đôi khi bạn muốn xóa tất cả các mục khỏi danh sách Python – đây là lúc phương pháp

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
46 phát huy tác dụng. Phương thức rõ ràng hoạt động tại chỗ, nghĩa là chúng ta không cần chỉ định lại danh sách để xóa nó

Hãy xem cách chúng ta có thể sử dụng phương pháp

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
47 để xóa tất cả các mục khỏi danh sách Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
0

Chúng ta có thể thấy ở đây khi áp dụng phương thức

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
47 cho một danh sách, nó sẽ xóa tất cả các mục khỏi danh sách đó, trả về một danh sách trống

Trong phần tiếp theo, bạn sẽ tìm hiểu cách xóa các mục khỏi danh sách Python bằng cách cắt

Bạn muốn tìm hiểu thêm về vòng lặp for Python? . Thay vào đó, bạn muốn xem một video?

Xóa các mục khỏi danh sách Python bằng Slicing

Chúng tôi cũng có thể xóa các mục khỏi danh sách bằng cách cắt danh sách. Lợi ích của phương pháp này là chúng ta có thể đảo ngược phương thức sử dụng cắt bằng phương thức del, bằng cách chỉ định các mục mà chúng ta muốn giữ lại.

Ví dụ: nếu chúng tôi muốn giữ tất cả các mục ngoại trừ mục đầu tiên và mục cuối cùng, chúng tôi có thể viết như sau

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
1

Ở đây, chúng tôi gán lại danh sách Python cho một lát cắt của chính nó, có thể lọc các mục từ chính lát cắt đó

Trong phần tiếp theo, bạn sẽ học cách sử dụng Python để xóa các mục khỏi danh sách bằng điều kiện

Bạn muốn tìm hiểu cách lấy phần mở rộng của tệp bằng Python?

Xóa các mục cho danh sách Python dựa trên điều kiện

Trong phần cuối cùng này, bạn sẽ tìm hiểu cách xóa các mục khỏi danh sách Python một cách có điều kiện. Ví dụ: bạn có thể xóa các mục không phải là số khỏi danh sách hoặc chỉ xóa các số lẻ khỏi danh sách

Chúng tôi sẽ thực hiện điều này bằng cách sử dụng khả năng hiểu danh sách Python mà tôi trình bày chi tiết tại đây. Khả năng hiểu danh sách cho phép chúng tôi tạo danh sách mới bằng cách lặp qua một đối tượng có thể lặp lại, chẳng hạn như danh sách

Hãy xem cách chúng ta có thể sử dụng khả năng hiểu danh sách để xóa tất cả các mục không phải là số khỏi danh sách của mình

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
2

Ở đây chúng tôi lặp lại danh sách của mình và đánh giá xem mục đó có phải là một giá trị số không. Nếu có, thì nó sẽ được thêm vào danh sách của chúng tôi. Nếu không, thì chúng tôi không bao gồm nó

Tương tự, chúng ta có thể xóa tất cả các mục lẻ khỏi danh sách bằng cách hiểu danh sách Python

# Remove a list item by value using .remove[] that doesn't exist
values = ['datagy', 1, 2, 3, 'datagy']
values.remove[4]

print[values]

# Returns: ValueError: list.remove[x]: x not in list
3

Trong ví dụ trên, chúng tôi sử dụng toán tử mô đun để đánh giá xem một mục là chẵn hay lẻ. Bất kỳ mục chẵn nào, khi áp dụng mô đun 2, sẽ trả về phần còn lại là 0. Tương tự, bất kỳ giá trị lẻ nào cũng sẽ trả về giá trị là 1. Do đó, chúng ta có thể sử dụng khả năng hiểu danh sách để xóa bất kỳ số lẻ nào khỏi danh sách

Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python? . Thêm một người học trực quan, hãy xem hướng dẫn YouTube của tôi tại đây

Phần kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng Python để xóa hoặc xóa các mục trong danh sách. Bạn đã học cách sử dụng các phương thức pop, del, remove để xóa các mục khỏi danh sách – bao gồm thời điểm sử dụng phương thức nào cũng như ưu và nhược điểm của từng phương thức. Cuối cùng, bạn đã học cách xóa các mục khỏi danh sách một cách có điều kiện trong Python, sử dụng tính năng hiểu danh sách Python

Là danh sách Xóa tại chỗ?

remove[] có thể thực hiện tác vụ xóa phần tử danh sách. Tính năng xóa có sẵn và không yêu cầu thêm dung lượng. Nhưng nhược điểm mà nó gặp phải là nó chỉ xóa lần xuất hiện đầu tiên khỏi danh sách. Tất cả các lần xuất hiện khác không bị xóa do đó chỉ hữu ích nếu danh sách không chứa các bản sao.

Làm cách nào để xóa phần tử khỏi danh sách trong Python mà không cần sử dụng xóa?

Xóa phần tử khỏi Danh sách bằng cách sử dụng pop[] Pop[] cũng là một phương pháp liệt kê. Chúng ta có thể xóa phần tử tại chỉ mục đã chỉ định và lấy giá trị của phần tử đó bằng cách sử dụng pop[].

Là gì. xóa bằng Python?

Phương thức remove[] xóa phần tử xuất hiện đầu tiên với giá trị đã chỉ định .

Chủ Đề