세 번째 반복이 가능합니까?목록 이해가있는 파이썬 삼원 반복
c = 0
list1 = [4, 6, 7, 3, 4, 5, 3, 4]
c += 1 if 4 == i for i in list1 else 0
더 실제적인 예 :이 특정 예는 더 나은 방법으로 수행 할 수 있지만 무슨 뜻인지의 단순한 버전은
는strList = ['Ulis', 'Tolus', 'Utah', 'Ralf', 'Chair']
counter = 0
counter += 1 if True == i.startswith('U') for i in strList else 0
return counter
'sum()'은'bool' 값을 받아 들여서'False'를'0'으로,'True'를'1'로 변환합니다. 따라서,이 코드는 또한 작동합니다 :'sum (strList의 엘을위한 el.startswith ('U'))' – steveha
@steveha가 실제로 작동하지만, 나는 명시 적으로 선호한다. –
@steveha : 파이썬'bool'은 서브 클래스이다. 'int' (역사적 이유로); 단순한 정수 산술로 변환하는 것은'sum'이 아닙니다. '0 + True == 1'. –