2015-09-12 61 views
1

想知道下面的代碼是什麼意思? foo和goo是否初始化爲字典?Python中奇怪的初始化代碼

foo = [0] * 128 
goo = [False] * 128 
+0

非常嚴肅地說,這就是交互式Python解釋器幫助了很多人的時候。如果你說'foo = [0] * 5; foo'會盡力回覆'[0,0,0,0,0]'。如果你說'type(foo)'它會響應'',等等。 – msw

回答

3

用整數N乘以一個列表創建一個新列表,其中原始列表的內容重複N次。

[123] * 4 = [123, 123, 123, 123]

所以[0] * 128給出了一個128項列表,其中每個項目是0

[False] * 128給出了一個128項列表,其中每個項目是False

+0

謝謝!有沒有辦法知道[123] * 4是否是一個列表類型的對象? –

+0

是的,'[123]'是一個元素的序列,所以'* int'可以用於產生'[123,123,123,123]'。 – msw

+1

@msw你可以用一個整數乘以任意長度的列表。 '[1,2] * 3 = [1,2,1,2,1,2]'。 – Amber