2012-09-27 3 views
1

I는 다음과 같습니다 텍스트 파일에 일부 데이터가 : 출력하므로,파이썬에서 행렬을 구문 분석하는보다 효율적인 방법은 무엇입니까?

1895723957 
8599325893 
5723857831 
5025852920 

내가 파이썬에서리스트의리스트에 구문 분석하고 싶습니다를

[[1, 8, 9, 5, 7, 2, 3, 9, 5, 7], [8, 5, ... 

오른쪽 현재, 내가 가지고있다

data = open('file.txt') 
rows = [str(line).strip() for line in data] 
matrix=[] 
for r in rows: 
    matrix.append(list(r)) 

그러나 더 적은 코드 라인을 사용하거나 독해력을 활용하는 것과 같은 다른 방법이 있습니까? 많은 ...

감사를

나는 주변을 두리번 시도했지만, 나는 여기에 사용하는 키워드를 정확히 모르겠어요!

답변

1

나는 이런 식으로 뭔가를 시도 할 것 :

with open('file.txt', 'r') as handle: 
    matrix = [map(int, line.strip()) for line in handle] 
+0

감사합니다. 그게 효과가 있었지만 대신 map (int, line.strip())을 사용해야했습니다. map()이 어떻게 작동하는지 살펴볼 것이다. – acs

+0

'strip' 대신'rstrip'을 사용하면 잠시 면도 할 수 있습니다. – Blender

0

나는 지능형 주변에 재생 후 다음과 같은 방법으로 내놓았다 :

data = open('file.txt') 
matrix = [[int(c) for c in row.rstrip()] for row in data] 

rstrip 위 블렌더 덕분이다.

관련 문제