在Python中更改2d数组值
我有一个数组的形状,叫做arry在Python中更改2d数组值,python,Python,我有一个数组的形状,叫做arry [[1 2 3] [4 3 1] [2 2 3]] 我想用字母替换这些值 dict = {1:'x',2:'y',3:'x',4:'y'} for x in xrange (3): for y in xrange (3): a = dict[arry[y][x]] arry[y][x].fill(a) 但是,我得到的错误是以10为基数的long()的无效文本:“n” 为什么会这样? 我也试过了 arry[y][x] =
[[1 2 3]
[4 3 1]
[2 2 3]]
我想用字母替换这些值
dict = {1:'x',2:'y',3:'x',4:'y'}
for x in xrange (3):
for y in xrange (3):
a = dict[arry[y][x]]
arry[y][x].fill(a)
但是,我得到的错误是以10为基数的long()的无效文本:“n”
为什么会这样?
我也试过了
arry[y][x] = dict[arry[y][x]]
这在我的机器上运行良好:
arry = [[1, 2, 3], [4, 3, 1], [2, 2, 3]]
dict = {1:'x',2:'y',3:'x',4:'y'}
for x in xrange (3):
for y in xrange (3):
arry[y][x] = dict[arry[y][x]]
print arry
我猜您错误地初始化了arry变量,列表中的值用逗号分隔
>>> array=[[1, 2, 3], [4, 3, 1], [2, 2, 3]]
>>> ref_dict = {1:'x',2:'y',3:'x',4:'y'}
>>> print [map(lambda x:ref_dict[x], l) for l in array]
[['x', 'y', 'x'], ['y', 'x', 'x'], ['y', 'y', 'x']]
您不应该将dict
声明为字典名,因为这样会覆盖dict类的行为
>>> d = dict()
>>> d
{}
>>> dict = {1:2, 3:4}
>>> dict
{1: 2, 3: 4}
>>> d_new = dict()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict' object is not callable
>d=dict()
>>>d
{}
>>>dict={1:2,3:4}
>>>口述
{1: 2, 3: 4}
>>>d_new=dict()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“dict”对象不可调用
arry是如何声明的?arry需要输入的,如我所说,有没有输入这些命令的方法?请给我一个示例输入,您希望如何输入数组?使用空间分隔元素还是其他方式?plz提供输入?输入是我之前说过的,不知道为什么itI中没有逗号,我使用的是numpy数组