substring tôi đã tự hỏi cách pythonic nhất để là những gì:Remove chuỗi từ danh sách nếu từ danh sách
Có một danh sách các chuỗi và một danh sách các chuỗi con loại bỏ các yếu tố của danh sách chuỗi chứa bất kỳ danh sách chuỗi con.
list_dirs = ('C:\\foo\\bar\\hello.txt', 'C:\\bar\\foo\\.world.txt', 'C:\\foo\\bar\\yellow.txt')
unwanted_files = ('hello.txt', 'yellow.txt)
đầu ra mong muốn:
list_dirs = (C:\\bar\\foo\.world.txt')
Tôi đã cố gắng thực hiện những câu hỏi tương tự như this, nhưng tôi vẫn đang phải vật lộn làm cho việc di chuyển và mở rộng việc thực hiện cụ thể cho một danh sách.
Cho đến nay tôi đã làm điều này:
for i in arange(0, len(list_dirs)):
if 'hello.txt' in list_dirs[i]:
list_dirs.remove(list_dirs[i])
này hoạt động nhưng có lẽ nó không phải là cách sạch hơn và quan trọng hơn là nó không hỗ trợ một danh sách, nếu tôi muốn loại bỏ hello.txt hoặc yellow.txt tôi sẽ phải sử dụng một hoặc. Cảm ơn.
@PM 2Ring Có, tôi đã sử dụng NumPy. arange tương tự như phạm vi – dudas
Không an toàn để sửa đổi bộ sưu tập mà bạn đang lặp lại. –