Có cách nào để thực hiện việc hiểu danh sách bằng Python chỉ chứa các mục duy nhất không?Đọc danh sách Python, với các mục duy nhất
ý tưởng ban đầu của tôi là sử dụng một cái gì đó như thế này: new_items = [unicode(item) for item in items]
Tuy nhiên, sau đó tôi nhận ra rằng tôi cần thiết để bỏ qua mục trùng lặp. Vì vậy, tôi đã kết thúc với con quái vật xấu xí này:
unique_items = []
for item in items :
unicode_item = unicode(item)
if unicode_item not in unique_items :
unique_items.append(unicode_item)
Bây giờ đây là ít khá (và có thể đọc được) so với một danh sách hiểu đơn giản. Vì vậy, có cách nào để làm cho một danh sách hiểu tương đương với mã trên?
Đơn đặt hàng cũng quan trọng, vì vậy tôi không thể chỉ sử dụng thiết lập hiểu.
Thú vị, suy nghĩ ban đầu của tôi là bạn có thể làm lọc trong comprehensions danh sách, nhưng sau đó tôi nhận ra bạn muốn cần truy cập vào danh sách mới mà bạn đang tạo trong điều kiện bộ lọc. – Davy8
Nếu đơn đặt hàng quan trọng, làm cách nào để biết trường hợp của một mục lặp lại để sử dụng? Người đầu tiên, người cuối cùng, hoặc một ở giữa? – lvella
có thể trùng lặp của [Làm thế nào để bạn loại bỏ các bản sao từ một danh sách bằng Python trong khi vẫn giữ trật tự?] (Http://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-in -python-while-preserving-order) – mgilson