我写了这段代码,我需要一些帮助来调试它。我不得不说,我在这方面本网站看了一些类似的话题,但它不能帮我调试我的代码:)将字典追加到循环中的另一个字典
OUTPUT:
Number of max devices per route: 4
Number of routes: 2
Level of mobility: 2
routes at T 0 : {0: [28, 14, 7, 4], 1: [22, 0]}
routes at T 1 : {0: [29, 20, 28], 1: [28]}
{0: {0: [29, 20, 28], 1: [28]}, 1: {0: [29, 20, 28], 1: [28]}}
我的问题是,我想有这样的输出:
{ 0:{0: [28, 14, 7, 4], 1: [22, 0]} , 1: {0: [29, 20, 28], 1: [28]},}
但是,我不知道为什么最后一本字典在新字典中再次重复。我试图调试它,但我无法成功。那么,我怎样才能将字典附加到循环中的另一个字典?
class myClassName(object):
def __init__(self):
"""
Class constructor.
"""
self.no_devices = input("Number of max devices per route: ")
self.no_routes = input("Number of routes: ")
self.mob=input("Level of mobility: ")
self.all_routes={}
self.routes = {}
self.arr = [0,1,2,3,4,5,6,7,8,9,10...,29]
for j in xrange(self.mob):
for i in range(self.no_routes):
random.shuffle(self.arr)
self.routes[i] = list(self.arr[0: random.randint(1,self.no_devices)])
self.all_routes[j]=self.routes
print "routes at T" ,j, ":" ,self.routes
print self.all_routes
如何初始化'self.arr'。在分配任何价值之前它似乎被洗牌了?在没有完整信息的情况下调试代码非常困难。 – Marcin
嗨,谢谢你的回复,self.arr是一个数组,包括0到29之间的数字。 – user3671039