파이썬 질문 드려요.

조회수 417회
def create_grid(locked_positions = {}):
    grid = [[(0, 0, 0) for x in range(10)] for x in range(20)]

    for i in range(len(grid)):
        for j in range(len(grid[i])):
            if (j, i) in locked_positions:
                c = locked_positions[(j,i)]
                grid[i][j] = c
    return grid

딕셔너리 데이터 locked_positions = {} 를 받는 부분이랑

if (j, i) in locked_positions: 이부분이 이해가 잘안됩니다....

어떤 식으로 조건문을 찾는지 알려주세요.

1 답변

  • 함수선언에서 locked_positions = {}이 부분은 파라메터에 값이 없을 경우에 기본값으로 locked_positions를 빈 dictionary로 하는것입니다. 물론 파라메터로 dictionary가 들어오면 그 값을 사용하고요. 코드를 보니 locked_positions는 (x, y) : (0, 0, 0) 형태의 dictionary같군요.

    그렇게 놓고 보면 if(j, i) in locked_positions 이건 일반적인 dictionary에서 키값에 존재하는가 없는가를 따지는것 같아요

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

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

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

(ಠ_ಠ)
(ಠ‿ಠ)