Hướng dẫn how do you remove n from a list in python 3? - làm cách nào để xóa n khỏi danh sách trong python 3?
Từ Python3 trở đi 2 không còn trả về 3 mà là 4, do đó câu trả lời sẽ trông giống như Show
Bạn có thể đọc thêm về nó trên những gì mới trong Python 3.0. 5 và Vì vậy, bây giờ những cách để có được máng này là gì? Trường hợp 1 - Cuộc gọi >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 3 qua >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 2 với $ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))" 100000 loops, best of 3: 2.22 usec per loop 1 2 Trả về một trình lặp. 3 là một hàm có thể chuyển đổi trình lặp thành danh sách. Do đó, bạn sẽ cần phải kết thúc một cuộc gọi 3 vào khoảng 2. Vì vậy, câu trả lời bây giờ trở thành,
Rất tốt, chúng tôi nhận được đầu ra. Bây giờ chúng tôi kiểm tra lượng thời gian cần thiết cho phần mã này để thực thi.
2,22 micro giây. Điều đó không quá tệ. Nhưng có những cách hiệu quả hơn? Trường hợp 2 - Cuộc gọi >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 3 qua >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 2 mà không có $ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))" 100000 loops, best of 3: 2.22 usec per loop 1 1 được nhiều người trong cộng đồng Python cau mày (bao gồm cả Guido). Ngoài ra, nó sẽ giảm đáng kể tốc độ của chương trình. Do đó chúng ta cần tránh điều đó càng nhiều càng tốt. Hàm Toplevel 0. Đến viện trợ của chúng tôi ở đây. 2 có thể được viết lại mà không cần sử dụng 1 bằng cách sử dụng 0 AS
Và bây giờ cho thời đại.
Tuyệt vời. Bạn có thể thấy sự khác biệt hiệu quả giữa hai cách. Nó nhanh hơn gần 60%. Do đó, cách tiếp cận mà không sử dụng 1 là một lựa chọn tốt hơn ở đây.Trường hợp 3 - theo hướng dẫn theo hướng dẫn, cách thường xuyênMột điểm quan trọng khác từ những gì mà mới trong Python 3.0 là nó khuyên chúng tôi nên tránh 2 nếu có thể.
Vì vậy, chúng tôi có thể giải quyết vấn đề này mà không cần 2 bằng cách sử dụng vòng lặp 7 thông thường.Cách giải quyết tầm thường (lực lượng vũ phu) sẽ là:-
Thiết lập thời gian
Và kết quả.
Như bạn có thể thấy lực lượng vũ phu ở đây chậm hơn một chút. Nhưng nó chắc chắn dễ đọc hơn đối với một lập trình viên chung so với mệnh đề 2.Trường hợp 4 - Danh sách toàn diệnMột danh sách hiểu ở đây cũng có thể và giống như trong Python2.
Bây giờ cho thời gian:
Như bạn có thể thấy sự hiểu biết danh sách có hiệu quả hơn 2 (thậm chí là không có 1). Do đó, quy tắc ngón tay cái trong Python3 là sử dụng danh sách hiểu biết thay vì 2Hence the thumb rule in Python3 is to use a list comprehension instead of 2Trường hợp 5-Cơ chế tại chỗ và hiệu quả không gian (T-M-T)Một cách cuối cùng là thực hiện các thay đổi tại chỗ trong danh sách. Điều này sẽ tiết kiệm rất nhiều không gian bộ nhớ. Điều này có thể được thực hiện bằng cách sử dụng 4. 0Kết quả thời gian sẽ là 5. Nhưng tuy nhiên cách này là không gian hiệu quả.Sự kết luậnMột danh sách thời gian so sánh (cả Python 3.4.3 và Python 3.5.0) 1Cuối cùng lưu ý rằng sự hiểu biết danh sách là cách tốt nhất và 2 sử dụng 1 là điều tồi tệ nhất. Nhưng một lần nữa --- chỉ trong Python3ONLY IN PYTHON3 |