2012-03-14 1 views
-1

다음 행렬 목록이 있습니다.Python을 사용하여 목록 요소가 포함 된 행렬에서 항목을 추출하고 인쇄하십시오.

[[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
] 

파이썬을 사용하여 I 이너리스트의 각각으로부터 하나 개의 항목을 추출하여 매트릭스를 인쇄하고자하는 ([F, G, H, C]). 예를 들어 각 내부 목록에서 c 요소를 추출하십시오.

[[c,c,c,c,c,c], 
[c,c,c,c,c,c], 
[c,c,c,c,c,c], 
[c,c,c,c,c,c], 
[c,c,c,c,c,c]] 
+1

그래 , 당신은 시도 것을, 그러나 나는 또한 당신이 달성하고자하는 않는 것을 이해에 문제가? 어떤 요소를 목록에서 추출 하시겠습니까? 네 번째 요소? char 'c'로 시작되는 것? – bpgergo

답변

2
print([[x[3] for x in y] for y in matrix]) 
+0

감사합니다. 이것은 완벽 해. – user1269272

+0

반갑습니다. 추천 도서 : [The Tutorial] (http://docs.python.org/tutorial/datastructures.html#nested-list-comprehensions) – Will

2

아마도 numpy를 사용합니까?

>>>a = [[range(4) for _ in range(4)] for _ in range(4)] 
>>>import numpy 
>>>b = numpy.array(a) 
>>>b 
array([[[0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3]], 

    [[0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3]], 

    [[0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3]], 

    [[0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3], 
    [0, 1, 2, 3]]]) 
>>>a[:, :, -1] 
array([[3, 3, 3, 3], 
    [3, 3, 3, 3], 
    [3, 3, 3, 3], 
    [3, 3, 3, 3]]) 
2
f,g,h,c = (1,2,3,4) 

matrix = [ 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
[[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c],[f,g,h,c]], 
] 

import operator 
print [map(operator.itemgetter(3), x) for x in matrix] 
관련 문제