2017-01-30 1 views
0

보드와 단어가 포함 된 게임을위한 함수를 만들고 있습니다. 나는이 함수를 설계했고 루프 나리스트 메쏘드를 올바르게 사용할 수 있는지 알지 못한다. 이 내가 만드는 오전 기능입니다 :이 기능에서 루프를 사용할 수 있습니까?

def make_str_from_column(board, column_index): 
    """ (list of list of str, int) -> str 

    Return the characters from the column of the board with index column_index 
    as a single string. 

    >>> make_str_from_column([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 1) 
    'NS' 
    """ 
+1

그대로, 귀하의 질문은 이해하기가 매우 어렵다. 실제 함수 구현은 어디에 있습니까? 목록 방법으로 무엇을 의미합니까? (필자는 목록 ** 이해력 **을 의미한다고 가정합니다.) 또한 StackOverflow는 코딩 질문에만 사용되며 거의 작동하지 않는 것들을 거의 사용하지 않습니다. 개선에 관한 질문은 http://codereview.stackexchange.com에서 요청해야합니다. –

답변

2

당신은 편지를 얻기위한 몇 가지 옵션이있다. 당신은 당신은 지능형리스트

[sublist[column_index] for sublist in board] 

로 그를 단순화 할 수있는 간단한 루프를

ret = [] 
for sublist in board: 
    ret.append(sublist[column_index]) 

를 사용할 수 있습니다 또는 당신은 실제로 각 열을 만들 것입니다 zip을 사용할 수 있습니다, 그리고 당신은 그 (것)들의 사이에서 선택할 수 있습니다.

list(zip(*board))[column_index] 

개인적으로 목록 작성을 선택합니다. 당신은 그러나, 당신은 하나의 문자열로 문자열의 목록을 결합 ''.join를 사용해야 일단

return ''.join([sublist[column_index] for sublist in board]) 
+0

나는 목록의 이해가 더 좋다고 생각한다. 그러나이 경우 이전에 만든 함수를 사용해야합니다. 이 조건 하에서 zip은 어쨌든 사용될 수 있습니까? 또는 그것을 사용하는 것이 더 어려울 수 있습니까? PD : 나는 우편 옵션을 몰랐다. –

+0

@KennethRivadeneiraGuadamud'zip'에 대한 자세한 내용은 https://docs.python.org/3/library/functions.html#zip을 참조하십시오. –

관련 문제