Tôi nghĩ bạn có nghĩa là
a_list = [s.strip() for s in a_list]
Sử dụng một biểu thức máy phát điện có thể là một phương pháp tốt hơn, như thế này:
stripped_list = (s.strip() for s in a_list)
cung cấp các lợi ích của việc đánh giá lười biếng, vì vậy strip
chỉ chạy khi đưa yếu tố, bị tước bỏ, là cần thiết.
Nếu bạn cần tài liệu tham khảo vào danh sách vẫn còn nguyên vẹn nằm ngoài phạm vi hiện tại, bạn có thể muốn sử dụng cú pháp danh sách lát .:
a_list[:] = [s.strip() for s in a_list]
Đối với bình luận quan tâm đến tốc độ của phương pháp tiếp cận khác nhau, có vẻ như nếu trong CPython cách tiếp cận phát-to-lát là hiệu quả nhất:
>>> from timeit import timeit as t
>>> t("""a[:]=(s.strip() for s in a)""", """a=[" %d " % s for s in range(10)]""")
4.35184121131897
>>> t("""a[:]=[s.strip() for s in a]""", """a=[" %d " % s for s in range(10)]""")
2.9129951000213623
>>> t("""a=[s.strip() for s in a]""", """a=[" %d " % s for s in range(10)]""")
2.47947096824646
Upvoting cho downvote ẩn danh ngẫu nhiên ẩn danh. Nếu có điều gì đó sai trái với câu hỏi, thì hoàn toàn vô nghĩa nếu bạn không nói cho tác giả biết điều gì. – KRyan
@DragoonWraith Nghe, nghe. – chucksmash
Nếu bạn muốn lặp lại bằng cách sử dụng chỉ mục, hãy thực hiện 'for (i, value) trong liệt kê (alist)' – Kos