size = input('Kirjainmäärä: ')
kirjaimet = "0ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ruudukko = []
rivi = ['0']*(size*2-1)
for i in range(0,size): #produce n rows
for y in range(0,i+1): #this row needs i+1 letters
for z in range(0+i,size*2-1-i):
rivi[z] = kirjaimet[size-i]
print rivi, i
ruudukko.append(rivi)
print ruudukko
因此,代碼是應該產生的格式的數矩陣python追加的奇怪行爲?
input=4
output=
DDDDDDD
DCCCCCD
DCBBBCD
DCBABCD
所以這裏的與輸入= 5上面的代碼的輸出(印刷RIVI,我-part)
['E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E'] 0
['E', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'E'] 1
['E', 'D', 'C', 'C', 'C', 'C', 'C', 'D', 'E'] 2
['E', 'D', 'C', 'B', 'B', 'B', 'C', 'D', 'E'] 3
['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'] 4
所有目前爲止,但然後..
[['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E']]
附加列表ruudukko c所有填滿了最後附加的對象!
這到底是怎麼回事?
rivi當前指向一個數組,因此追加數組涉及到將數組對象放在最後位置。如果您想要將其拼合成單個列表,請使用extend()方法。 – dhable