[None if b == 0 else (bisect_left([-0.5, 0.5], ratio) - 1, a, b) for a, b in ([float(x.replace(',', '')) for x in list_] for list_ in data) if b == 0 or not math.isnan(ratio := a / b)]


아무 의미는 없고 그냥 예를 들려고 짠 코드


콤마로 구분된 string 형태의 숫자의 리스트의 리스트를 입력값으로 받아서

콤마 빼고 숫자 타입으로 변환한뒤

nan 이 들어있는 경우 제외하고

a / b 를 나눈값이 0.5 보다 크면 1, -0.5 ~ 0.5 사이값이면 0, -0.5 보다 작으면 -1 을 붙여서 a, b 와 함께 리턴

b 가 0일 경우 None 을 리턴


리스트 컴프리헨션 1줄로 가능


파이써닉한 리스트 컴프리헨션 ㅆㅅㅌㅊ ??