标题说明了一切。 我做了一些研究,显然我不能直接修改数组的值,有没有办法创建这个数组的副本(形状)但具有不同的值? 提前致谢
答案 0 :(得分:3)
在Python中有数组,列表和元组。数组和列表是可修改的,但元组不是。您按如下方式初始化列表:
l = [1, 2, 3]
l[0] = 2
print l # 2 2 3
按如下方式初始化数组:
a = array('i', [1, 2, 3])
a[0] = 2
print l # array('i', [2, 2, 3])
元组初始化如下:
t = (1, 2, 3)
t[0] = 2 # Error tuples are immutable
答案 1 :(得分:0)
Python中的数组是可变的。
>>> from array import array
>>> a = array('i',[1,2,3,4])
>>> a
array('i', [1, 2, 3, 4])
>>> a[0] = 2
>>> a
array('i', [2, 2, 3, 4])
也许你在想tuple
?元组不可变。
>>> a = (1, 2, 3)
>>> a
(1, 2, 3)
>>> a[0] = 12
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
在这种情况下你应该只使用一个列表?但你可以将元组重新分配给其他东西:
>>> a = (1, 4, 5)
答案 2 :(得分:0)
您在考虑的是一个列表,您可以修改这些条目。一个例子:
list=[1,2,3]
print list #prints out [1,2,3]
list[0]=5 #changes the first entry in the list to equal 5
print list #prints out [5,2,3]