2012-10-04 22 views
-3

請穿上爲什麼我得到一個太多解壓(ValueError異常在我的for循環)。有一些輕試圖DEBValueError異常:值過多於一個元組解包

naislist = [('CONTROL FILE', '0', '0', '0'), 
      ('REDO LOG', '0', '0', '0'), 
      ('ARCHIVED LOG', '.69', '.59', '3'), 
      ('BACKUP PIECE', '46.54', '0', '192'), 
      ('IMAGE COPY', '0', '0', '0'), 
      ('FLASHBACK LOG', '10.15', '6.31', '82'), 
      ('FOREIGN ARCHIVED LOG', '0', '0', '0')] 
print "size of naislist is ",len((naislist)) 
heading = ('MAIN MENU', 'LEVELS', 'LEVEL2', 'LEVEL3') 

rearrange = dict(zip((0, 1, 2, 3), (len(str(x)) for x in heading))) 

for tu, x in naislist: 
    rearrange.update((i, max(rearrange[i], len(str(el)))) for i, el in enumerate(tu)) 
    rearrange[4] = max(rearrange[4], len(str(x))) 
forkit = '|'. join('%%-%ss' % rearrange[i] for i in xrange(0, 4)) 
print '\n'.join((forkit % heading, 
        '-|-'.join(rearrange[i] * '-' for i in xrange(4)), 
        '\n'.join(forkit % (a, b, c, d) for (a, b, c), d in naislist))) 
+2

你到底想在這裏做什麼? – njzk2

回答

4

因爲有四個要素naislist中的每個項目,而您的循環僅指定兩個變量(tu, x)將其解壓縮到。

+0

丹尼爾thanks.am仍然搞清楚如何改變整個循環以包含四個變量,如在/ ****對於naislist中的tu,x,s,v:***/...你會介意指導我以一個例子來充分闡述或代碼片斷..pls – danielmwai

相關問題