작성
·
31
0
안녕하세요 선생님.
먼저 초급자로써.. 강의 잘 듣고 공부 열심히 하고있습니다.
감사합니다.
Remove Duplicates 강의 도중 문의가 있어 드립니다.
마지막 list comprehension으로 중복을 제거하려하다 보니..
x = ["a", 1, "b", 2, "a", 3, "b", 4, 5, "b"]
ex6=[]
ex6 = [ i for i in x if i not in ex6 ]
출력 값 : ['a', 1, 'b', 2, 'a', 3, 'b', 4, 5, 'b']
이런식으로 하니 중복이 제거 가 안되고 그냥 전부 다 출력이 되더라구요
ex6의 list 변수 값에 저장이 안되고 처리가 되는지..
아래처럼 별도의 변수에 저장을 하니 잘 출력이 되더라구요.
x = ["a", 1, "b", 2, "a", 3, "b", 4, 5, "b"]
ex4 = []
[ ex4.append(i) for i in x if i not in ex4 ]
출력 값 : ['a', 1, 'b', 2, 3, 4, 5]
list comprehension이 작동하는 원리를 제가 잘 못이해하고 있는건지
잘 몰라서 문의드립니다.
답변 1
0
네 맞습니다. 별도의 변수에 저장하셔야 해요!
위에 예제에서 ex6 변수는 스스로 iter 하면서 모든 값을 저장하게 됩니다.
리스트컴프리헨션은 잘 사용하고 계시는 것 같아요!