Tôi đang cố sửa đổi định nghĩa này liệt kê các mục trùng lặp sao cho nó liệt kê các chỉ mục của các giá trị trùng lặp. Ngoài ra, tôi muốn nó liệt kê TẤT CẢ các bản sao có nghĩa là kết quả cho a = [1,2,3,2,1,5,6,5,5,5] sẽ là duplicate_indexes = [3,4,7 , 8,9] đây là định nghĩa:Liệt kê các chỉ mục các giá trị trùng lặp trong một danh sách với Python
def list_duplicates(seq):
seen = set()
seen_add = seen.add
# adds all elements it doesn't know yet to seen and all other to seen_twice
seen_twice = set(x for x in seq if x in seen or seen_add(x))
# turn the set into a list (as requested)
return list(seen_twice)
a = [1,2,3,2,1,5,6,5,5,5]
list_duplicates(a) # yields [1, 2, 5]
Bạn đang sử dụng một thiết lập cho '' 'seen''' để làm bài kiểm tra thành viên Nhanh? – wwii
@wwii Có. Bạn đúng là – thefourtheye