我想訪問Python中列表的特定元素。我帶了一些C/Java包,並把這個數據結構想象成一個2D數組。在我看來,下面的操作應該隻影響第一個列表的第一項,在Java中的loc1[0][0]
會說。實際上,每個子列表的第一項都會受到影響,即loc1[0][0]
,loc1[1][0]
和loc1[2][0]
。任何想法,爲什麼?Python列表 - 訪問單個元素
def move(loc, dir, nrows, ncols):
loc1 = [[0.0] * ncols] * nrows
for col in range(1):
for row in range(1):
loc1[row][col] += 100.0 * loc[row][col]
return loc1
nrows = 4
ncols = 3
p = [[1.0/(ncols * nrows)] * ncols] * nrows #uniform prior
print p
p = move(p, [0, 1], nrows, ncols)
print p
http://docs.python.org/faq/programming.html#how-do-i-create-a-multidimensional-list – 2012-03-03 20:12:58
我們可能有幾十個這個問題的有效重複,但我不知道如何有效地搜索他們:( – 2012-03-03 21:03:43