Hướng dẫn how do you remove the last 4 elements of a list in python? - làm cách nào để xóa 4 phần tử cuối cùng của danh sách trong python?

Như Vincenzooo nói một cách chính xác, Pythonic lst[:-n] không hoạt động khi n==0.

Các tác phẩm sau đây cho tất cả n>=0:

lst = lst[:-n or None]

Tôi thích giải pháp này vì nó cũng có thể đọc được bằng tiếng Anh: "Trả lại một lát bỏ qua các yếu tố N cuối cùng hoặc không có [nếu không cần phải bỏ qua]".

Giải pháp này hoạt động vì những điều sau đây:

  • x or y đánh giá thành
        lst[-n:n and None] = []
    
    0 khi
        lst[-n:n and None] = []
    
    0 là đúng về mặt logic [ví dụ: khi nó không phải là
        lst[-n:n and None] = []
    
    2,
        lst[-n:n and None] = []
    
    3,
        lst[-n:n and None] = []
    
    4,
        lst[-n:n and None] = []
    
    5, ...] và
        lst[-n:n and None] = []
    
    6 khác. Vì vậy,
        lst[-n:n and None] = []
    
    7 là
        lst[-n:n and None] = []
    
    8 khi
        lst[-n:n and None] = []
    
    9 và
        lst[-n:n and None] = []
    
    5 khi n==0.
  • Khi cắt,
        lst[-n:n and None] = []
    
    5 tương đương với việc bỏ qua giá trị, do đó
    The original list is : [1, 4, 6, 3, 5, 8]
    The list after removing last K elements : [1, 4, 6]
    3 giống như
    The original list is : [1, 4, 6, 3, 5, 8]
    The list after removing last K elements : [1, 4, 6]
    4 [xem tại đây].

Theo ghi nhận của @SWK, giải pháp này tạo ra một danh sách mới [nhưng ngay lập tức loại bỏ cái cũ trừ khi nó được tham chiếu ở nơi khác] thay vì chỉnh sửa bản gốc. Đây thường không phải là vấn đề về hiệu suất vì tạo một danh sách mới trong một lần thường nhanh hơn so với việc loại bỏ một yếu tố tại thời điểm đó [trừ khi

The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
5

Một giải pháp khả thi [theo cùng một kiểu với cái gốc của tôi] hoạt động cho n>=0 nhưng: a] không tạo ra một bản sao của danh sách; và b] cũng ảnh hưởng đến các tham chiếu khác vào cùng một danh sách, có thể là như sau:

    lst[-n:n and None] = []

Điều này chắc chắn là không thể đọc được và không nên sử dụng. Trên thực tế, ngay cả giải pháp ban đầu của tôi cũng đòi hỏi quá nhiều sự hiểu biết về ngôn ngữ để được mọi người đọc và hiểu một cách đơn giản. Tôi sẽ không sử dụng trong bất kỳ mã thực nào và tôi nghĩ rằng giải pháp tốt nhất là bởi @Wonder.Mice:

The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
9.

Chúng ta thường đến các tình huống trong đó chúng ta cần giảm kích thước của danh sách bằng cách cắt ngắn các yếu tố cuối cùng của danh sách. Điều này có ứng dụng của nó trong lập trình hàng ngày khi đôi khi chúng tôi yêu cầu nhận tất cả các danh sách có kích thước tương tự hoặc xóa một vài hồ sơ cuối cùng khỏi danh sách. Hãy để thảo luận về một vài cách mà nhiệm vụ này có thể được thực hiện.

Sử dụng Len [] + Danh sách cắt để loại bỏ các yếu tố k cuối cùng của danh sách

Danh sách cắt có thể thực hiện nhiệm vụ cụ thể này, trong đó chúng tôi chỉ cắt LEN đầu tiên [danh sách] - K Các yếu tố để nằm trong danh sách và do đó loại bỏ các yếu tố k cuối cùng.

Ở đây chúng tôi tìm thấy độ dài của danh sách hiện tại và tính độ dài sẽ là sau khi xóa các phần tử N [LEN_L - L], sau đó sử dụng cắt, chúng tôi tạo một danh sách sao chép, trong đó nó đã bị xóa các yếu tố cuối cùng.

Python3

Các

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
5
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
6
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
7
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
8
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
9
List after removing elements: [1, 7, 6]
0

List after removing elements: [1, 7, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
9

List after removing elements: [1, 7, 6]
4
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
List after removing elements: [1, 7, 6]
6
List after removing elements: [1, 7, 6]
7
List after removing elements: [1, 7, 6]
8
List after removing elements: [1, 7, 6]
9 lst[:-n]0

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
5
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
6lst[:-n]3 ________ 48 & nbsp;
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
9lst[:-n]6

Đầu ra

The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]

Sử dụng cắt danh sách tiêu cực để loại bỏ các yếu tố k cuối cùng của danh sách

Chúng ta có thể thực hiện nhiệm vụ cụ thể này bằng cách sử dụng cắt danh sách tiêu cực, trong đó chúng ta bắt đầu loại bỏ các phần tử khỏi chỉ số cuối cùng của danh sách và do đó loại bỏ tất cả các phần tử K khỏi phần cuối. Nếu giá trị chỉ mục âm nhiều hơn độ dài của danh sách, nó sẽ trả về một danh sách trống.

Python3

Các

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
5
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
6
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
7
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
8
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
9
List after removing elements: [1, 7, 6]
0

List after removing elements: [1, 7, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
9

List after removing elements: [1, 7, 6]
4
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
List after removing elements: [1, 7, 6]
6
List after removing elements: [1, 7, 6]
7
List after removing elements: [1, 7, 6]
8
List after removing elements: [1, 7, 6]
9 lst[:-n]0

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
5
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
6lst[:-n]3 ________ 48 & nbsp;
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
9lst[:-n]6

Output:

The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]

Đầu ra

Sử dụng cắt danh sách tiêu cực để loại bỏ các yếu tố k cuối cùng của danh sách

Python3

Chúng ta có thể thực hiện nhiệm vụ cụ thể này bằng cách sử dụng cắt danh sách tiêu cực, trong đó chúng ta bắt đầu loại bỏ các phần tử khỏi chỉ số cuối cùng của danh sách và do đó loại bỏ tất cả các phần tử K khỏi phần cuối. Nếu giá trị chỉ mục âm nhiều hơn độ dài của danh sách, nó sẽ trả về một danh sách trống.

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
5
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
6
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
7
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
8
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
9
List after removing elements: [1, 7, 6]
0

List after removing elements: [1, 7, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
9

List after removing elements: [1, 7, 6]
4
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
List after removing elements: [1, 7, 6]
6
List after removing elements: [1, 7, 6]
7
List after removing elements: [1, 7, 6]
8
List after removing elements: [1, 7, 6]
9 lst[:-n]0

    lst[-n:n and None] = []
31
    lst[-n:n and None] = []
32

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
5
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
6lst[:-n]3 ________ 48 & nbsp;
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
9lst[:-n]6

Output:

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]

Đầu rato remove last K elements of list

Sử dụng cắt danh sách tiêu cực để loại bỏ các yếu tố k cuối cùng của danh sách

Python3

Chúng ta có thể thực hiện nhiệm vụ cụ thể này bằng cách sử dụng cắt danh sách tiêu cực, trong đó chúng ta bắt đầu loại bỏ các phần tử khỏi chỉ số cuối cùng của danh sách và do đó loại bỏ tất cả các phần tử K khỏi phần cuối. Nếu giá trị chỉ mục âm nhiều hơn độ dài của danh sách, nó sẽ trả về một danh sách trống.

List after removing elements: [1, 7, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
9

List after removing elements: [1, 7, 6]
4
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]
1
List after removing elements: [1, 7, 6]
6
List after removing elements: [1, 7, 6]
7
List after removing elements: [1, 7, 6]
8
List after removing elements: [1, 7, 6]
9 lst[:-n]0

The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
5
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
6lst[:-n]3 ________ 48 & nbsp;
The original list is : [1, 7, 6, 3, 5, 8]
The list after removing last K elements : [1, 7, 6]
9lst[:-n]6

Output:

List after removing elements: [1, 7, 6]

Làm cách nào để loại bỏ một vài yếu tố cuối cùng khỏi danh sách trong Python?

Sử dụng DEL, toán tử DEL xóa phần tử tại vị trí chỉ mục được chỉ định khỏi danh sách. Để xóa phần tử cuối cùng, chúng ta có thể sử dụng chỉ mục âm -1. Việc sử dụng chỉ số âm cho phép chúng ta xóa phần tử cuối cùng, ngay cả khi không tính độ dài của danh sách.use the negative index -1. The use of the negative index allows us to delete the last element, even without calculating the length of the list.

Làm cách nào để loại bỏ một cái gì đó từ cuối danh sách trong Python?

Cách tiếp cận đơn giản nhất là sử dụng hàm pop [[i]] của danh sách, loại bỏ một phần tử có mặt tại vị trí được chỉ định trong danh sách.Nếu chúng tôi không chỉ định bất kỳ chỉ mục, pop [] sẽ xóa và trả về phần tử cuối cùng trong danh sách.use the list's pop[[i]] function, which removes an element present at the specified position in the list. If we don't specify any index, pop[] removes and returns the last element in the list.

Làm thế nào để bạn cắt 5 yếu tố cuối cùng của một danh sách trong Python?

Phương thức số 2: Sử dụng islice [] + Reversed [] Các hàm sẵn có cũng có thể được sử dụng để thực hiện nhiệm vụ cụ thể này.Hàm Islice có thể được sử dụng để có được danh sách cắt lát và hàm đảo ngược được sử dụng để có được các yếu tố từ phía sau.Using islice[] + reversed[] The inbuilt functions can also be used to perform this particular task. The islice function can be used to get the sliced list and reversed function is used to get the elements from rear end.

Làm cách nào để loại bỏ 4 yếu tố đầu tiên khỏi danh sách?

Hãy thảo luận về các cách loại bỏ yếu tố đầu tiên của danh sách ...
Phương pháp 1: Xóa các phần tử khỏi danh sách trong Python bằng pop [].
Phương pháp 2: Xóa các phần tử khỏi danh sách trong Python bằng danh sách DEL [].
Phương pháp 3: Xóa các phần tử khỏi danh sách trong Python bằng cách cắt lát ..

Bài Viết Liên Quan

Chủ Đề