Computer >> Máy Tính >  >> Lập trình >> Python

Loại bỏ trùng lặp chuỗi con khỏi danh sách bằng Python

Đôi khi chúng ta có thể cần phải tinh chỉnh một danh sách nhất định bằng cách loại bỏ các phần tử trùng lặp trong đó. Điều này có thể đạt được bằng cách sử dụng kết hợp nhiều phương pháp khác nhau có sẵn trong thư viện chuẩn python.

với set và split

Phương pháp phân tách có thể được sử dụng để tách riêng các phần tử để kiểm tra trùng lặp và phương pháp tập hợp được sử dụng để lưu trữ các phần tử duy nhất từ ​​các phần tử danh sách được tách biệt.

Ví dụ

# initializing list
listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']

print("Given list : ",listA)

# using set() and split()
res = [set(sub.split('-')) for sub in listA]

# Result
print("List after duplicate removal : " ,res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list : ['xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']
List after duplicate removal : [{'xy'}, {'pq', 'qr'}, {'xp'}, {'ee', 'dd'}]

Với danh sách

Chúng tôi cũng có thể sử dụng phương pháp danh sách và sử dụng các vòng lặp for cùng với nó để chỉ các phần tử duy nhất từ ​​danh sách sau khi các phân tách được thu thập.

Ví dụ

# initializing list
listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']

print("Given list : ",listA)

# using list
res = list({i for sub in listA for i in sub.split('-')})

# Result
print("List after duplicate removal : " , res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list : ['xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']
List after duplicate removal : ['dd', 'pq', 'ee', 'xp', 'xy', 'qr']