簡體   English   中英

字典創建表python

[英]dictionaries create table python

我不明白為什么這里的結果是[[0 0] [0 0]]; 這是代碼:

def create_table(m,n):
    t=[]
    one_line=[]
    for i in range(0,m):
        one_line.append(0)
    for i in range(0,n):
        t.append(one_line)
    return t

print(create_table(2,2));

在one_line中進行第一次迭代后,我們得到[0],在t [[0]]中得到。

在第二次迭代之后,其中i = 2,我們得到one_line = [0 0],t = [[0 0] [0 0]]。 但是為什么不是t = [[0] [0 0]],因為前一個t是[[0]]而不是[[0 0] [0 0]]。

有什么解釋嗎?

您已經定義了兩個for循環:

  1. 首先,在第一個for循環中循環兩次,創建one_line = [0,0]
  2. 然后,通過第二個循環(兩次),從而將[0,0]附加到t兩次,最后以t = [[0,0],[0,0]]結束

因此,運行您的函數調用create_table(2,2)

create_table(2, 2):

設定:m = 2,n = 2

t = []
one_line = []

定義:t = [],one_line = []

for i in range(0,m):

對於[0,1]中的我

當我= 0

one_line.append(0)

one_line = [0]

當我= 1

one_line.append(0)

one_line = [0,0]

for i in range(0,n):

因為我在(0,1)

當我= 0

t.append(one_line)

t = [[0,0]]

當我= 1

t.append(one_line)

t = [[0,0],[0,0]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM