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.
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
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]]
//stackoverflow.com/questions/11520492/difference-between-del-remove-and-pop-on-lists
điểm
hơn 9 năm
Trả lời 514448AE4B130799BD00470B
điểm
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
6 and while [li]:
li.pop[0]
5 take an index not a value. while [li]:
li.pop[0]
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.
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].while [li]: li.pop[0]
khoảng 10 năm
Các khóa học miễn phí phổ biến
Trả lời 50881B60335C590200005F4C
Không.
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].while [li]: li.pop[0]
khoảng 10 năm
Các khóa học miễn phí phổ biến
Trả lời 50881B60335C590200005F4C
Không.
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].while [li]: li.pop[0]
khoảng 10 năm
Các khóa học miễn phí phổ biến
Khóa học