반응형
질문
다음 목록에서 고유한 값을 가져 오려고합니다.
['nowplaying', 'PBS', 'PBS', 'nowplaying', 'job', 'debate', 'thenandnow']
필요한 출력은 다음과 같습니다.
['nowplaying', 'PBS', 'job', 'debate', 'thenandnow']
이 코드는 작동합니다.
output = []
for x in trends:
if x not in output:
output.append(x)
print(output)
사용해야하는 더 나은 솔루션이 있습니까?
답변
먼저 쉼표로 구분하여 목록을 올바르게 선언합니다. 목록을 세트로 변환하여 고유한 값만 가져올 수 있습니다.
mylist = ['nowplaying', 'PBS', 'PBS', 'nowplaying', 'job', 'debate', 'thenandnow']
myset = set(mylist)
print(myset)
목록으로 더 사용할 경우 다음과 같이 다시 목록으로 변환해야합니다.
mynewlist = list(myset)
또 다른 가능성으로는 목록 대신 처음부터 세트를 사용하는 것입니다. 그런 다음 코드는 다음과 같아야합니다.
output = set()
for x in trends:
output.add(x)
print(output)
이미 언급된 대로, 세트는 원래 순서를 유지하지 않습니다. 그렇다면 정렬된 세트 구현을 찾아보아야합니다(자세한 내용은 이 질문을 참조하세요).
반응형
댓글