如何在Python中修改数组的值?

时间:2015-04-16 23:01:53

标签: python arrays

标题说明了一切。 我做了一些研究,显然我不能直接修改数组的值,有没有办法创建这个数组的副本(形状)但具有不同的值? 提前致谢

3 个答案:

答案 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]