Loại bỏ các phần tử trùng lắp trong mảng Python?
0
1
I'm not yours • 30
đã đăng:
Bạn có thể sử dụng set
để loại bỏ các phần tử trùng lắp, sau đó chuyển lại thành list
như sau:
str = list( set(str) )
Theo Python Docs, set
là một cấu trúc dữ liệu tương tự như list
nhưng các phần tử trong set
không thể bị trùng lắp và không có thứ tự ưu tiên. Không có thứ tự ưu tiên có nghĩa là vị trí của các phần tử trong set
sẽ bị đảo lộn, sau khi chuyển ngược lại về mảng list
, ta có thể được kết quả bao gồm các phần tử không bị trùng lắp nhưng vị trí của chúng không còn đúng so với ban đầu nữa.
print str
# = ['a', 'c', 'b', 'd']
Nếu bạn không quan tâm về vị trí của các phần tử sau khi loại đứa trùng lắp, bạn có thể dùng cách trên.
thêm bình luận...
0
Cộng đồng đã đăng:
Bạn có thể loại bỏ phần tử trùng nhau và giữ nguyên thứ tự mảng hoặc list ban đầu bằng cách dùng hàm dict.fromkeys() kết hợp với hàm list() nha. Ví dụ:
str = ['a', 'b', 'a', 'c', 'b', 'd', 'a', 'b']
unique_l=list(dict.fromkeys(l))
print(unique_l)
#>> ['a', 'b', 'c', 'd']
Tham khảo
thêm bình luận...
Bạn chưa đăng nhập, vui lòng đăng nhập để thêm câu trả lời.
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)