Bật một giá trị từ danh sách Python

Trong Python, sử dụng các phương thức

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
5
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
6,
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
7 và
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
8 để xóa các mục (phần tử) khỏi danh sách. Cũng có thể xóa các mục bằng cách sử dụng câu lệnh
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
9 bằng cách chỉ định vị trí hoặc phạm vi bằng chỉ mục hoặc lát cắt

  • Xóa tất cả các mục.
    l = [0, 10, 20, 30, 40, 50]
    
    print(l.pop(0))
    # 0
    
    print(l)
    # [10, 20, 30, 40, 50]
    
    print(l.pop(3))
    # 40
    
    print(l)
    # [10, 20, 30, 50]
    
    6
  • Xóa một mục theo chỉ mục và nhận giá trị của nó.
    l = [0, 10, 20, 30, 40, 50]
    
    print(l.pop(0))
    # 0
    
    print(l)
    # [10, 20, 30, 40, 50]
    
    print(l.pop(3))
    # 40
    
    print(l)
    # [10, 20, 30, 50]
    
    7
  • Xóa một mục theo giá trị.
    l = [0, 10, 20, 30, 40, 50]
    
    print(l.pop(0))
    # 0
    
    print(l)
    # [10, 20, 30, 40, 50]
    
    print(l.pop(3))
    # 40
    
    print(l)
    # [10, 20, 30, 50]
    
    8
  • Xóa các mục theo chỉ mục hoặc lát.
    l = [0, 10, 20, 30, 40, 50]
    
    print(l.pop(0))
    # 0
    
    print(l)
    # [10, 20, 30, 40, 50]
    
    print(l.pop(3))
    # 40
    
    print(l)
    # [10, 20, 30, 50]
    
    9
  • Loại bỏ các mục đáp ứng điều kiện. Danh sách hiểu

Xem bài viết sau về cách thêm một mục vào danh sách

  • Thêm một mục vào danh sách trong Python (chắp thêm, mở rộng, chèn)

Liên kết được tài trợ

Xóa tất cả các mục. l = [0, 10, 20, 30, 40, 50] print(l.pop(0)) # 0 print(l) # [10, 20, 30, 40, 50] print(l.pop(3)) # 40 print(l) # [10, 20, 30, 50] 6

Bạn có thể xóa tất cả các mục khỏi danh sách bằng

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
6

l = [0, 1, 2]

l.clear()
print(l)
# []

nguồn.

Xóa một mục theo chỉ mục và nhận giá trị của nó. l = [0, 10, 20, 30, 40, 50] print(l.pop(0)) # 0 print(l) # [10, 20, 30, 40, 50] print(l.pop(3)) # 40 print(l) # [10, 20, 30, 50] 7

Bạn có thể xóa mục ở vị trí đã chỉ định và nhận giá trị của nó bằng

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
7

Chỉ mục lúc đầu là

print(l.pop(-2))
# 30

print(l)
# [10, 20, 50]
8 (lập chỉ mục dựa trên số không)

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]

nguồn.

Bạn có thể sử dụng các giá trị âm để chỉ định vị trí từ cuối. Chỉ số ở cuối là

print(l.pop(-2))
# 30

print(l)
# [10, 20, 50]
9

print(l.pop(-2))
# 30

print(l)
# [10, 20, 50]

nguồn.

Nếu đối số bị bỏ qua, mục cuối cùng sẽ bị xóa

print(l.pop())
# 50

print(l)
# [10, 20]

nguồn.

Chỉ định một chỉ mục không tồn tại sẽ gây ra lỗi

# print(l.pop(100))
# IndexError: pop index out of range

nguồn.

Lưu ý rằng

print(l.pop())
# 50

print(l)
# [10, 20]
0, loại bỏ mục đầu tiên, là một hoạt động
print(l.pop())
# 50

print(l)
# [10, 20]
1 và không hiệu quả. Xem wiki chính thức để biết độ phức tạp tính toán của các hoạt động khác nhau trên
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
5

  • Độ phức tạp của thời gian - Python Wiki

Loại

print(l.pop())
# 50

print(l)
# [10, 20]
3 được cung cấp trong mô-đun bộ sưu tập thư viện tiêu chuẩn để loại bỏ mục đầu tiên với
print(l.pop())
# 50

print(l)
# [10, 20]
4. Ví dụ: nếu bạn muốn xử lý dữ liệu dưới dạng hàng đợi (FIFO), sẽ hiệu quả hơn khi sử dụng
print(l.pop())
# 50

print(l)
# [10, 20]
3

  • Deque với bộ sưu tập. deque trong Python

Xóa một mục theo giá trị. l = [0, 10, 20, 30, 40, 50] print(l.pop(0)) # 0 print(l) # [10, 20, 30, 40, 50] print(l.pop(3)) # 40 print(l) # [10, 20, 30, 50] 8

Bạn có thể xóa mục đầu tiên khỏi danh sách khi giá trị của mục đó bằng với giá trị đã chỉ định với

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
8

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']

nguồn.

Nếu danh sách chứa nhiều giá trị khớp với giá trị đã chỉ định, thì chỉ giá trị đầu tiên bị xóa

l.remove('Bob')
print(l)
# ['Charlie', 'Bob', 'Dave']

nguồn.

Để xóa nhiều mục thỏa mãn điều kiện cùng một lúc, hãy sử dụng cách hiểu danh sách được mô tả bên dưới

Chỉ định một giá trị không tồn tại sẽ gây ra lỗi

# l.remove('xxx')
# ValueError: list.remove(x): x not in list

nguồn.

Bạn có thể sử dụng

print(l.pop())
# 50

print(l)
# [10, 20]
8 để kiểm tra xem danh sách có chứa mục

  • toán tử in trong Python (đối với danh sách, chuỗi, từ điển, v.v. )

Liên kết được tài trợ

Xóa các mục theo chỉ mục hoặc lát. l = [0, 10, 20, 30, 40, 50] print(l.pop(0)) # 0 print(l) # [10, 20, 30, 40, 50] print(l.pop(3)) # 40 print(l) # [10, 20, 30, 50] 9

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
6,
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
7, và
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
8 là các phương pháp của
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
5. Bạn cũng có thể xóa các phần tử khỏi danh sách bằng câu lệnh
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
9

Chỉ định mục sẽ bị xóa theo chỉ mục. Chỉ số đầu tiên là

print(l.pop(-2))
# 30

print(l)
# [10, 20, 50]
8 và chỉ số cuối cùng là
print(l.pop(-2))
# 30

print(l)
# [10, 20, 50]
9

l = [0, 10, 20, 30, 40, 50]

del l[0]
print(l)
# [10, 20, 30, 40, 50]

del l[3]
print(l)
# [10, 20, 30, 50]

del l[-1]
print(l)
# [10, 20, 30]

del l[-2]
print(l)
# [10, 30]

nguồn.

Bạn có thể xóa nhiều mục với slice

l = [0, 10, 20, 30, 40, 50]
del l[2:5]
print(l)
# [0, 10, 50]

l = [0, 10, 20, 30, 40, 50]
del l[:3]
print(l)
# [30, 40, 50]

l = [0, 10, 20, 30, 40, 50]
del l[-2:]
print(l)
# [0, 10, 20, 30]

nguồn.

Cũng có thể xóa tất cả các mục bằng cách chỉ định toàn bộ phạm vi

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
0

nguồn.

Bạn cũng có thể chỉ định

# print(l.pop(100))
# IndexError: pop index out of range
7 là
# print(l.pop(100))
# IndexError: pop index out of range
8

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
1

nguồn.

Xem bài viết sau để biết chi tiết về lát

  • Cách cắt danh sách, chuỗi, tuple trong Python

Loại bỏ các mục đáp ứng điều kiện. Danh sách hiểu

Loại bỏ các mục thỏa mãn điều kiện tương đương với việc trích xuất các mục không thỏa mãn điều kiện

Với mục đích này, việc hiểu danh sách được sử dụng

  • Danh sách hiểu trong Python

Một ví dụ về việc loại bỏ các mục chẵn hoặc lẻ (= giữ nguyên các mục chẵn hoặc lẻ) như sau.

# print(l.pop(100))
# IndexError: pop index out of range
9 Là toán tử còn lại và
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']
0 là phần còn lại của phép chia
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']
1 cho
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']
2

Khi hiểu danh sách, một danh sách mới được tạo. Không giống như phương pháp loại

l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
5 hoặc câu lệnh
l = [0, 10, 20, 30, 40, 50]

print(l.pop(0))
# 0

print(l)
# [10, 20, 30, 40, 50]

print(l.pop(3))
# 40

print(l)
# [10, 20, 30, 50]
9 được giới thiệu cho đến nay, danh sách ban đầu không bị thay đổi