Python:在循环中创建关联数组

nub*_*bme 10 python associative-array

我想创建一个从文件中读取值的关联数组.我的代码看起来像这样,但它给我一个错误,说我不能指标必须是整数.

谢谢=]

for line in open(file):
  x=prog.match(line)
  myarray[x.group(1)]=[x.group(2)]
Run Code Online (Sandbox Code Playgroud)

小智 13

myarray = {} # Declares myarray as a dict
for line in open(file, 'r'):
    x = prog.match(line)
    myarray[x.group(1)] = [x.group(2)] # Adds a key-value pair to the dict
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 5

Python 中的关联数组称为映射。最常见的类型是字典


pyf*_*unc 1

因为数组索引应该是整数

>>> a = [1,2,3]
>>> a['r'] = 3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not str
>>> a[1] = 4
>>> a
[1, 4, 3]
Run Code Online (Sandbox Code Playgroud)

x.group(1) 应该是整数或

如果您使用地图,请先定义地图

myarray = {}
for line in open(file):
  x=prog.match(line)
  myarray[x.group(1)]=[x.group(2)]
Run Code Online (Sandbox Code Playgroud)