Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 목록에서 중복 부분 문자열 제거

<시간/>

때로는 중복 요소를 제거하여 주어진 목록을 수정해야 할 수도 있습니다. 이것은 파이썬 표준 라이브러리에서 사용 가능한 다양한 방법의 조합을 사용하여 달성할 수 있습니다.

세트 및 분할 사용

split 메소드는 중복 검사를 위해 요소를 분리하는 데 사용할 수 있으며 set 메소드는 분리된 목록 요소에서 고유한 요소를 저장하는 데 사용됩니다.

# 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)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

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

목록 포함

또한 list 메소드와 for 루프를 함께 사용하여 분리 후 목록에서 고유한 요소만 캡처되도록 할 수도 있습니다.

# 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)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

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