2014-04-10 3 views
1

나는이 답변을 검색하려고했지만 아직 좋은 것을 찾지 못했습니다. 그래서이 답변이 다른 곳에서 발견 될 수 있다면 미리 사과드립니다.목록에서 다차원 목록 만들기

이 작업을 수행하는 Python 방법은 무엇입니까?

height, width = 4, 4 
grid = '01 02 03 04 04 03 02 01 04 04 04 04 01 02 01 02' 
grid_list = [] 
grid = [int(x) for x in grid.split()] 
for row in range(0, height): 
    grid_list.append(grid[row * height:row * height + width]) 

grid_list =[[1, 2, 3, 4], [4, 3, 2, 1], [4, 4, 4, 4], [1, 2, 1, 2]]을 만들고 싶습니다.

기본적으로 문자열에서 다차원 목록을 만들고 싶습니다. 이것을위한 파이썬 원 - 라이너가 있어야한다고 생각합니다. 감사! 이 작업을 실행 한 후

+0

입니까? – jayelm

+0

@JesseMu 나는이 답변을 내 게시물을 편집했습니다. 감사. –

+0

모든 요소의 길이가 같습니까? – Sheng

답변

1

경우 모든 요소는 오랫동안 같은 경우에만 (여기 두 글자), 당신은 기본 파이썬 방법에 한 줄에 그것을 할 수 :

>>> width = 4 
>>> grid = '01 02 03 04 04 03 02 01 04 04 04 04 01 02 01 02' 
>>> [[int(x) for x in grid[i:i+width*3].split()] for i in xrange(0, len(grid), width*3)] 
[[1, 2, 3, 4], [4, 3, 2, 1], [4, 4, 4, 4], [1, 2, 1, 2]] 
요소가 다른 아이폰에있는 경우

는 다음과 같은 한 줄의 코드가 도움이 될 수 있습니다 :

>>> width = 4 
>>> grid = '01 02 03 04 04 03 02 01 04 04 104 04 01 02 01 02' 
>>> [[int(x) for x in grid.split()][i:i+width] for i in xrange(0, grid.count(" "), width)] 
[[1, 2, 3, 4], [4, 3, 2, 1], [4, 4, 104, 4], [1, 2, 1, 2]] 

이 도움이 될 희망! 당신이 NumPy와 사용할 수 있도록하는 경우

+0

이게 내가 찾고있는 것 같아. 필자는 Python을 처음 사용하기 때문에 라이브러리를 배우기 전에 언어에 대해 잘 알고 싶습니다. 무차별 적 C++ 모드로 되돌아 가지 않는 투쟁입니다. –

2
width = 4 
string = '01 02 03 04 04 03 02 01 04 04 04 04 01 02 01 02' 
grid = [int(x) for x in string.split()] 
grid_list = [grid[i:i + width] for i in range(0, len(grid), width)] 

: 당신이 NumPy와를 사용하고 싶지 않을 수도 있지만

>>> grid_list 
[[1, 2, 3, 4], [4, 3, 2, 1], [4, 4, 4, 4], [1, 2, 1, 2]] 
1

, 여기이내는 것이다. 그렇지 않으면 당신은 0,605,002의 대답 볼 수 있습니다 :

grid = '01 02 03 04 04 03 02 01 04 04 04 04 01 02 01 02' 
grid = np.array([int(x) for x in grid.split()]).reshape((height, width)) 
0

우리는 너무 같이 수행 할 수 있습니다 원하는 출력은 무엇

>>> grid = '01 02 03 04 04 03 02 01 04 04 04 04 01 02 01 02' 
>>> gint = [int(x) for x in grid.split()] 
>>> numpy.array(gint).reshape(4,4) 
array([[1, 2, 3, 4], 
    [4, 3, 2, 1], 
    [4, 4, 4, 4], 
    [1, 2, 1, 2]]) 
>>> 
관련 문제