파이썬 반복문을 간편하게 하고 싶어요

조회수 636회

반복문을 따로따로 여러개 사용하는데 중복내용이라... 이를 한 번에 여러개를 지정하는 법을 알고 싶습니다. 제가 사용하는 반복문은

    for n in df2.Mag:
        if n >= 0.1 and n < 0.2
        Mag01 += 1

    for n in df2.Mag:
        if n >= 0.2 and n < 0.3
        Mag02 += 1

    for n in df2.Mag:
        if n >= 0.3 and n < 0.4
        Mag03 += 1

...( 생략)

    for n in df2.Mag:
        if n >= 7.9 and n < 8.0
        Mag89 += 1

이런식으로 약 80개를 만들어서 사용했는데 분명 80번 쓰지않고도 할 수 있을 것 같아서 고수님들께 여줘봅니다 참고로 df2는 csv파일이고, Mag01 ~ Mag89값들은 나중에 그래프를 만들기 위해서 범위 안에 df2파일 안에 몇개 있는지 확인하려고 합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 왜 "약 80개"인가요? 만약 정확한 갯수가 있지 않다면 (예컨대 뭔가가 연속적이지 않다든가) 일일이 손으로 적어서 명시하는 게 최선일 수도 있습니다. -_-;

    모든 것이 연속적이고 정확한 갯수가 있다면 Mag** 변수와 비교할 범위(0.6, 0.7...)를 동적으로 만들어서 for문 안에서 해결 가능할 겁니다.

    다음 코드를 JS로 돌리면

    var total = 60;
    var mags = [];
    for (i=0; i < total; i++) {
      var j = i+6;
      var no = ('0' + j).slice(-2);
      mags["Mag"+no] = (i > i*0.6);
    }
    console.log(mags);
    

    콘솔에 총 60개 키-값 배열을 찍을 수 있습니다. 참고하세요.

    [
      Mag06: false,
      Mag07: true,
      Mag08: true,
      ...
    ]
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)