저는 파이썬을 배우고 있습니다. 연습을 위해 파일 (그래프가 포함 된 Trivial Graph Format)을 읽고 그래프에 몇 가지 그래프 알고리즘을 실행하는 스크립트를 작성했습니다.n 사전 목록을 만드는 방법
그래프를 n 사전 목록에 저장하는 것에 대해 생각했습니다. 여기서 n은 정점의 수이고 정점의 모든 가장자리는 사전에 저장됩니다.
나는이edges = [{} for i in xrange(num_vertexes)]
for line in file:
args = line.split(' ')
vertex1 = int(args[0])
vertex2 = int(args[1])
label = int(args[2])
edges[vertex1][vertex2] = label
을 시도하지만 난 마지막 줄이 오류를 받고 있어요 : 그것은 vertex1
처럼 보이는
IndexError: list index out of range
생성하려는 데이터 형식의 예와이 데이터 형식을 생성하는 파일의 줄을 제공 할 수 있습니까? – sberry
@DavidAlber 내부 사전이 참조로 복사되므로 잘 작동하지 않습니다. 'tst = [{}] * 5; tst [0] [1] = 1; tst'는'{{1 : 1}, {1 : 1}, {1 : 1}, {1 : 1}, {1 : 1} 대신에 xrange x (num_vertexs)의'{{} '를 사용할 수 있습니다. –
당신은에 관심이있을 수 있습니다 [구현 그래프]에 대한 귀도의 에세이 (http://www.python.org/doc/essays/graphs.html) –