[문제][파이썬]리스트 중복값 제거

박민하·2022년 5월 27일
0
post-thumbnail

문제

Input 으로 주어진 리스트에서 오직 한번만 나타나는 값 (unique value)을 가지고 있는 요소는 출력하라.
예를 들어, 다음과 같은 리스트가 주어졌다면:

my_list = [1, 2, 3, 4, 5, 1, 2, 3, 7, 9, 9, 7]

다음과 같이 출력되어야 한다.

4
5

정답

my_list = [1, 2, 3, 4, 5, 1, 2, 3, 7, 9, 9, 7]
for i in my_list:
  if my_list.count(i) == 1:
    print(i)

시행착오

  1. for 반복문을 사용하여 중복값이 있으면 삭제하는 식으로 구현하고 싶었으나, 중복값이 여러개더라도 한 개 밖에 삭제가 안되고, 삭제가 된다 하더라도 리스트 길이에 변동이 생겨서 오류가 났다. range(), remove(), append() 함수에 꽂혀서 아래와 같은 식에서 못벗어나고 같은 굴레를 헤맸다.

    for i in input:
      for j in range(len(input)):
        if i == input[j]:
          input.remove(input[j])
  2. 답은 나오는데 코드가 길다.

    new_list = []
    for i in my_list:
      if i not in new_list:
        new_list.append(i)
      elif i in new_list:
        new_list.remove(i)
    
    for i in  new_list:
      print(i)
profile
backend developer 🐌

0개의 댓글