Nếu tôi có một danh sách chuỗi,Loại bỏ chuỗi trùng lặp từ một danh sách trong python
a = ["asd","def","ase","dfg","asd","def","dfg"]
làm thế nào tôi có thể loại bỏ các bản sao từ danh sách?
Nếu tôi có một danh sách chuỗi,Loại bỏ chuỗi trùng lặp từ một danh sách trong python
a = ["asd","def","ase","dfg","asd","def","dfg"]
làm thế nào tôi có thể loại bỏ các bản sao từ danh sách?
Chuyển đổi sang một bộ:
a = set(a)
Hoặc tùy chọn trở lại một danh sách:
a = list(set(a))
Lưu ý rằng đây không giữ gìn trật tự. Nếu bạn muốn giữ gìn trật tự:
seen = set()
result = []
for item in a:
if item not in seen:
seen.add(item)
result.append(item)
Xem nó làm việc trực tuyến: ideone
Sử dụng các loại thiết lập để loại bỏ bản sao
a = list(set(a))
Bạn có thể bật 'em vào một set
và sau đó trở thành một danh sách:
a = [ ... ]
s = set(a)
a2 = list(s)
def getUniqueItems(iterable):
result = []
for item in iterable:
if item not in result:
result.append(item)
return result
print (''.join(getUniqueItems(list('apple'))))
T.B. Tương tự như một trong những câu trả lời ở đây nhưng một chút thay đổi, thiết lập là không thực sự cần thiết!
đoạn mã này có giữ nguyên thứ tự không? –
Nó giữ trật tự, nhưng có độ phức tạp bậc hai, và điều đó là xấu đối với bất kỳ danh sách từ xa lớn. – ReneSac
tuyệt vời này! cảm ơn –
cảm ơn bạn :) đã hoạt động .... – Shamika