Hướng dẫn is pop or remove faster python? - pop hay remove python nhanh hơn?

Tôi biết có một danh sách.clear (), tôi chỉ chia sẻ rằng tôi không mong đợi rằng sử dụng danh sách.pop () và list.remove () cụ thể có thể làm chậm chương trình nhiều như vậy.

Show
li = list(range(500000))

Tạo một danh sách là nhanh chóng.

Vì vậy, chúng tôi sẽ kiểm tra POP/Xóa các giá trị cụ thể. Với mục đích của "điểm chuẩn" này, chúng tôi sẽ xóa tất cả các yếu tố khỏi danh sách:

while (li):
    li.pop(0)

Phải mất 74,735 & nbsp; giây để bật tất cả các yếu tố! Nó dài một cách vô lý. Tôi biết rằng nó sẽ nhanh hơn nhiều nếu tôi thậm chí đã sử dụng li.pop () mà không có chỉ số hoặc có thể được sử dụng chức năng bộ lọc, liệt kê sự hiểu biết với điều kiện hoặc bất cứ điều gì nhưng đó là những gì tôi đang cố gắng hiển thị, nó chậm như thế nào Để xóa một số mục danh sách nhất định bằng cách sử dụng các phương thức POP và xóa.74.735 seconds to pop all the elements! It's ridiculously long.
I KNOW it would have been much faster if I even had used li.pop() without the index or maybe used filter function, list comprehension with conditional or whatever
But that's what I'm trying to show, how slow it is to remove certain list items specifically using pop and remove methods.

Và li.remove (), luôn yêu cầu một giá trị được chỉ định để loại bỏ, thậm chí còn tệ hơn pop!

 for num in li:
    li.remove(num)

Cái này đã mất 303.268 & nbsp; giây để hoàn thành. Thật điên rồ.303.268 seconds to complete. How crazy it is.

Tôi đã vui vẻ với các cấu trúc dữ liệu trừu tượng. Các danh sách được liên kết đã triển khai và một hàng đợi chạy trên các danh sách được liên kết.

Và vì lợi ích, tôi quyết định so sánh hiệu suất của hàng đợi dựa trên danh sách được liên kết và danh sách Python thông thường. Và tôi đã rất ngạc nhiên. Khi hàng đợi danh sách được liên kết của tôi định hóa 500.000 yếu tố trong 0,5 giây, trong khi hàng đợi danh sách Python đã thực hiện nó trong 75 giây.

Tìm hiểu để giao tiếp với cơ sở dữ liệu bằng SQL, ngôn ngữ quản lý dữ liệu tiêu chuẩn.

Trả lời 508664F80B396E0200001F85

Theo tôi hiểu nó, xóa xóa, xóa các mục bạn đề cập đến, và POP POP xóa chỉ mục mà bạn đề cập đến. Vì vậy, N.Remove [0] đưa ra một lỗi (vì không có 0 trong danh sách được đề cập) nhưng N.Pop [0] không xóa mục đầu tiên, bởi vì 0 là cách mục đầu tiên trong danh sách được đề cập.second index as where

while (li):
    li.pop(0)
0 actually removes the value of that index and moves every index number down 1(or however many you remove).

Gửi bởi ELS please fix the hint .pop doesn’t remove the value at the inputted index but the one after it(which doesn’t pass validation). It needs to be

while (li):
    li.pop(0)
0 rather than .pop(see previous paragraph for the reason). I’m in no way trying to make a slam against you(I say this last sentence because someone else has been gotten after because they have made a slam against another course writer[Which I’m not wanting]), but this just needs fixed. .pop has not been introduced until the hint in this exercise, so you should at least look through what’s been introduced up until where your lesson is or explain what it does. It may just be that you haven’t tested with pop in this lesson. Otherwise this lesson is great so far.

Trả lời 50BED25B7AA8848B39000997

Sử dụng:

n.remove(1)    # where 1 is the actual value of the first item in the list

Nếu danh sách chứa 8, 9, 10, việc xóa ở trên sẽ thất bại. Để xóa đầu tiên, bạn sẽ viết mã:

n.remove(8)        # removes first occurrence of 8

hoặc

n.pop(0)           # removes first item in list (index of 0)

điểm

Hướng dẫn is pop or remove faster python? - pop hay remove python nhanh hơn?

Gần 10 năm

Trả lời 508664F80B396E0200001F85

Theo tôi hiểu nó, xóa xóa, xóa các mục bạn đề cập đến, và POP POP xóa chỉ mục mà bạn đề cập đến. Vì vậy, N.Remove [0] đưa ra một lỗi (vì không có 0 trong danh sách được đề cập) nhưng N.Pop [0] không xóa mục đầu tiên, bởi vì 0 là cách mục đầu tiên trong danh sách được đề cập.

điểm

Gần 10 năm

Trả lời 508664F80B396E0200001F85

Theo tôi hiểu nó, xóa xóa, xóa các mục bạn đề cập đến, và POP POP xóa chỉ mục mà bạn đề cập đến. Vì vậy, N.Remove [0] đưa ra một lỗi (vì không có 0 trong danh sách được đề cập) nhưng N.Pop [0] không xóa mục đầu tiên, bởi vì 0 là cách mục đầu tiên trong danh sách được đề cập.

Gửi bởi ELS

n = [1,3,5]
#Remove the first item in the list here.
n.pop(0)
print n
print n[0]
print n[1]
del n[0]
print n[0]
print n

khoảng 10 năm

[3, 5]
3
5
5
[5]

Tôi vừa thấy trên Stackoverflow.com rằng mã này cũng sẽ tạo ra kết quả tương tự:

n.remove(n[0]) 

http://stackoverflow.com/questions/11520492/difference-between-del-remove-and-pop-on-lists

điểm

Hướng dẫn is pop or remove faster python? - pop hay remove python nhanh hơn?

hơn 9 năm

Trả lời 514448AE4B130799BD00470B

điểm

Hướng dẫn is pop or remove faster python? - pop hay remove python nhanh hơn?

hơn 9 năm

Trả lời 514448AE4B130799BD00470B

Trả lời 50881B60335C590200005F4Cat that index. but pop removes the next index(and all values at the next index). Did you not read the note to Michael? Both

while (li):
    li.pop(0)
6 and
while (li):
    li.pop(0)
5 take an index not a value
.
while (li):
    li.pop(0)
6 removes the next index not that index.(Which is actually the problem.) The instructions say to remove the first index(0) not the second(Which is what pop is doing when you pass 0 into the parenthesis).

điểm

hơn 9 năm

Trả lời 514448AE4B130799BD00470B

  • Trả lời 50881B60335C590200005F4C

    Không. while (li): li.pop(0) 5 Xóa mọi thứ tại chỉ mục đó. Nhưng POP sẽ loại bỏ chỉ mục tiếp theo (và tất cả các giá trị ở chỉ mục tiếp theo). Bạn đã không đọc ghi chú cho Michael? Cả while (li): li.pop(0) 6 và while (li): li.pop(0) 5 đều lấy một chỉ mục không phải là một giá trị. while (li): li.pop(0) 6 xóa chỉ mục tiếp theo không phải chỉ số đó. (Đó thực sự là vấn đề.) Các hướng dẫn nói để xóa chỉ mục đầu tiên (0) không phải là thứ hai (đó là những gì POP đang làm khi bạn chuyển 0 vào dấu ngoặc đơn).

    khoảng 10 năm

    Các khóa học miễn phí phổ biến

  • Trả lời 50881B60335C590200005F4C

    Không. while (li): li.pop(0) 5 Xóa mọi thứ tại chỉ mục đó. Nhưng POP sẽ loại bỏ chỉ mục tiếp theo (và tất cả các giá trị ở chỉ mục tiếp theo). Bạn đã không đọc ghi chú cho Michael? Cả while (li): li.pop(0) 6 và while (li): li.pop(0) 5 đều lấy một chỉ mục không phải là một giá trị. while (li): li.pop(0) 6 xóa chỉ mục tiếp theo không phải chỉ số đó. (Đó thực sự là vấn đề.) Các hướng dẫn nói để xóa chỉ mục đầu tiên (0) không phải là thứ hai (đó là những gì POP đang làm khi bạn chuyển 0 vào dấu ngoặc đơn).

    khoảng 10 năm

    Các khóa học miễn phí phổ biến

  • Trả lời 50881B60335C590200005F4C

    Không. while (li): li.pop(0) 5 Xóa mọi thứ tại chỉ mục đó. Nhưng POP sẽ loại bỏ chỉ mục tiếp theo (và tất cả các giá trị ở chỉ mục tiếp theo). Bạn đã không đọc ghi chú cho Michael? Cả while (li): li.pop(0) 6 và while (li): li.pop(0) 5 đều lấy một chỉ mục không phải là một giá trị. while (li): li.pop(0) 6 xóa chỉ mục tiếp theo không phải chỉ số đó. (Đó thực sự là vấn đề.) Các hướng dẫn nói để xóa chỉ mục đầu tiên (0) không phải là thứ hai (đó là những gì POP đang làm khi bạn chuyển 0 vào dấu ngoặc đơn).

    khoảng 10 năm

    Các khóa học miễn phí phổ biến

Khóa học

Pop có chậm trong Python không?

Danh sách Python.Pop (0) cực kỳ chậm cho một danh sách lớn.extremely slow for a large list.

Sự khác biệt giữa pop () và remove () trong python là gì?

Python pop () vs Remove () vs del hàm hàm Remove () sẽ loại bỏ giá trị khớp đầu tiên khỏi danh sách.Hàm pop () được sử dụng để trả về phần tử bị xóa từ danh sách.The remove() function removes the first matching value from the list. The pop() function is used to return the removed element from the list.

Ưu điểm của phương thức POP so với phương thức DEL là gì?

Phương thức pop () như del xóa giá trị tại một chỉ mục cụ thể.Nhưng phương thức pop () trả về giá trị đã xóa từ danh sách.returns deleted value from the list.

Sự khác biệt giữa Remove () và pop () trong danh sách giải thích với ví dụ là gì?

Sự khác biệt giữa phương thức pop () và phương thức xóa () của một danh sách trong python là gì?Loại bỏ phương thức được sử dụng để loại bỏ giá trị cụ thể trong danh sách trong khi sử dụng phương thức POP, bạn có thể loại bỏ phần tử cuối cùng của danh sách hoặc bằng cách sử dụng chỉ mục, bạn có thể phần tử giá trị cụ thể đó.