b = set([j-i for j in set([1,2,3,4,5]) for i in set() if j-i>=0])
print b
이
set()
왜이 표현은 set([1,2,3,4,5])
을 반환하거나 오류를 제기의 빈 세트를 대신 반환하지?
b = set([j-i for j in set([1,2,3,4,5]) for i in set() if j-i>=0])
print b
이
set()
왜이 표현은 set([1,2,3,4,5])
을 반환하거나 오류를 제기의 빈 세트를 대신 반환하지?
for i in set()
은 0 번 반복되어 빈 세트가됩니다.
아직 반복되지 않는 j입니까? 최소값이 j의 값이 아니어야합니까? –
그리고 어떤 가치가 있어야합니까? – Daniel
@UtkarshAgrawal :'b '의 각 요소는'(i, j)'쌍과 일치해야합니다. 'j' 값은 존재하지 않는다. 왜냐하면 그것들과 일치시킬 i 값이 없기 때문이다. – user2357112
0 항목을 반복하고 있기 때문에.
result = set()
for j in set([1,2,3,4,5]):
for i in set(): # <-- there are no i's !
if j - i >= 0:
result.add(j - i)
result
세트에 add
에 코드 경로에 도달 될 수 없다 : 루프를 줄이기 것은 명확합니다.
'set()'에서 내가 무엇을 기대 했습니까? – user2357112
덧붙여 말하자면 수학과 유사한 집합 이해는 빈 집합으로 해석 될 것입니다. 파이썬이 이런 식으로 일하는 것이 아닙니다. – user2357112