我寫了這段代碼,我需要一些幫助來調試它。我不得不說,我在這方面本網站看了一些類似的話題,但它不能幫我調試我的代碼:)將字典追加到循環中的另一個字典
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