2010-01-04 6 views
6

필자는 가능한 한 정의 된 위치에 기존 열거 형 배열에 열과 행을 추가해야합니다. 내 정규 영어에 대한 용서.배열에 행과 열을 추가하려면 어떻게합니까?

+2

이 좀 더 정보 –

+1

가 필요한 어떤 종류의 정렬? 목록의 목록, array.array 또는 numpy.array? –

+2

-1 : 코드 없음 .... –

답변

18

귀하의 열과 행은 목록의 목록 일뿐입니다.

즉, 다음이 있습니까?

L = [[1,2,3], 
    [4,5,6]] 

다른 행을 추가하려면, 목록의 Append 메서드를 사용합니다.

L = [[1,2,3], 
    [4,5,6], 
    [7,8,9]] 

다른 열을 추가하려면 제공

L.append([7,8,9]) 

, 당신은 각 행에 대해 반복해야합니다. 이를 수행하는 쉬운 방법은 목록을 이해하는 것입니다.

L = [[1,2,3,0], 
    [4,5,6,0]] 
+0

그리고 배열로 변환하려면 그냥 배열 (lst)할까요? –

+1

그게 효과가있다. numpy를 사용하여이 작업을 수행하는 것이 더 좋은 방법 일 수 있지만 원본 질문은 그런 내용을 지정하지 않았습니다. –

+0

응답을 주셔서 감사합니다. – ricardo

6

이 NumPy와이 작업을 수행하는 방법에는 여러 가지가 있지만 그들 모두가 당신이 에서 대상 배열에 어떤 위치를 행/열을 추가 할 수 없습니다 (예를 들어, 추가 제공

L = [x + [0] for x in L] 

마지막 행/열 뒤에 추가 만 허용). 당신이 대상 배열의 모든 위치에서 행 또는 열 중 하나를 추가하는 하나의 방법/기능을 원하는 경우에, 나는 '삽입'로 갈 것 :

T = NP.random.randint(0, 10, 20).reshape(5, 4) 
c = NP.random.randint(0, 10, 5) 
r = NP.random.randint(0, 10, 4) 
# add a column to T, at the front: 
NP.insert(T, 0, c, axis=1) 
# add a column to T, at the end: 
NP.insert(T, 4, c, axis=1) 
# add a row to T between the first two rows: 
NP.insert(T, 2, r, axis=0) 
관련 문제