2015-11-15 1 views
1

Я в полном недоумении от пытаясь выяснить, как получить индивидуальные номера внутри в спискеКак получить индивидуальные номера внутри списка, который находится внутри другого списка в Python?

Вот мой код:

infinity = 1000000 
invalid_node = -1 

class Node: 
    previous = invalid_node 
    distFromSource = infinity 
    visited = False 

def populateNetwork(fileName): 

    network = [] 
    networkFile = open(fileName, "r") 
    for line in networkFile: 
     network.append(map(int, line.strip().split(','))) 
    return network 

def populateNodeTable(network, StartNode): 
    nodeTable = [] 
    for node in network: 
     nodeTable.append(Node()) 
    nodeTable[StartNode].distFromSource = 0 
    nodeTable[StartNode].visited = True 
    return nodeTable 

network = populateNetwork('network.txt') 
nodeTable = populateNodeTable(network, 1) 
nodeTable2 = populateNodeTable(network, 2) 
print "Visited Nodes" 
for node in nodeTable: 
    print node.previous, node.distFromSource, node.visited 
print 
print "This is what is inside network" 
for line in network: 
    print line 

print 
print "what is inside index 6" 
print network[6] 

Вот результат:

Visited Nodes 
-1 1000000 False 
-1 0 True 
-1 1000000 False 
-1 1000000 False 
-1 1000000 False 
-1 1000000 False 
-1 1000000 False 

This is what is inside network 
[0, 2, 4, 1, 6, 0, 0] 
[2, 0, 0, 0, 5, 0, 0] 
[4, 0, 0, 0, 0, 5, 0] 
[1, 0, 0, 0, 1, 1, 0] 
[6, 5, 0, 1, 0, 5, 5] 
[0, 0, 5, 1, 5, 0, 0] 
[0, 0, 0, 0, 5, 0, 0] 

what is inside index 6 
[0, 0, 0, 0, 5, 0, 0] 

Мой вопрос: как я могу получить отдельные числа внутри индекса, который будет использоваться для расчета? Так, например, индекс [1] содержит «0, 2, 4, 1, 6, 0, 0», и я собираюсь использовать эти числа для дополнения, поэтому 0 + 2 + 4 + 1 + 6 + 0 + 0 = 13 . Я действительно смущен.

ответ

1
print network[0] # 0, 2, 4, 1, 6, 0, 0 

print network[0][0] # 0 
print network[0][1] # 2 
print network[0][2] # 4 

for x in network[0]: 
    print x 
# 0 
# 2 
# 4 
# 1 
# 6 
# 0 
# 0 

print sum(network[0]) # 13 
+0

О, ничего себе, не думал об этом так, спасибо, сэр. – DBaculio

Смежные вопросы