본문 바로가기
파이썬

파이썬 목록에없는 요소 찾기

by º기록 2020. 12. 26.
반응형

그래서 여기에 내 코드가 있습니다.

item = [0,1,2,3,4,5,6,7,8,9]
z = []  # list of integers

for item in z:
    if item not in z:
        print item

z 는 정수 목록을 포함합니다. item z 와 비교하고 item 과 비교할 때 z 에없는 숫자를 인쇄하고 싶습니다.

item 이 아닌 비교했을 때 z 에있는 요소를 인쇄 할 수 있지만 위의 코드를 사용하여 반대로 시도하면 아무것도 인쇄되지 않습니다.

도움이 필요하세요?

 

해결 방법

 

귀하의 코드는 귀하가 생각하는 작업을 수행하지 않습니다. for item in z : 행은 z 를 반복하며, item z . 따라서 원래 item 목록은 작업을 수행하기 전에 덮어 씁니다.

나는 당신이 다음과 같은 것을 원한다고 생각합니다.

item = [0,1,2,3,4,5,6,7,8,9]

for element in item:
    if element not in z:
        print element

그러나 다음과 같이 쉽게 할 수 있습니다.

[x for x in item if x not in z]

또는 (고유하지 않은 요소의 중복을 잃어도 괜찮다면) :

set(item) - set(z)

 

참조 페이지 https://stackoverflow.com/questions/2104305

 

 

반응형

댓글