본문 바로가기
내가 보려고 정리하는/PYTHON

리스트 중복제거

by alasdkfm 2022. 10. 3.

목차

    리스트 내 중복된 값들을 제거하는데 크게 3가지 방식이 있다

    lst = [1,1,2,3,4,4,4]
    new_lst = []

    1. For LOOP / List comprehension 

    # for loop
    for i in lst:
    	if i not in new_lst:
        	new_lst.append(i)
    
    # list comprehension 
    [ new_lst.append(i) for i in lst if v not in new_lst ]

    2. Set 

    - set 는 중복을 허용하지 않는다는 특징이 있음 

    new_lst = list(set(lst))

    3. Dictionary

    - 리스트 내 인자값을 key-value로 만들어서 딕셔너리화 한다.  

    new_lst = list(dict.fromkeys(lst))
    
    # result 
    # {1: None, 2: None, 3: None, 4: None}

    - fromkeys (keys , value) 

    - 위에서는 value값은 따로 지정해주지 않았기 때문에, new_lst를 프린트 해보면, None 값이 들어감

    dict.fromkeys(lst,10)
    
    # result:
    # {1: 10, 2: 10, 3: 10, 4: 10}

    - 만약 아래처럼 value값을 따로 지정해준다면, 해당  값으로 들어간다