Python:向dict列表或关联数组添加元素

nub*_*bme 3 python associative-array list

我试图将元素添加到字典列表(关联数组),但每次循环时,数组都会覆盖前一个元素.所以我最终得到一个大小为1的数组,最后一个元素被读取.我确认钥匙每次都在变化.

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

任何帮助都会很棒,谢谢=]

pyf*_*unc 6

你的解决方案不正确; 正确的版本是:

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

您的版本问题:

  1. 关联数组是dicts和empty dicts = {}
  2. 数组是列表,空列表= []
  3. 您每次都将数组指向新字典.

这就像说:

array={result.group(1) : result.group(2)}
array={'x':1}
array={'y':1}
array={'z':1}
....
Run Code Online (Sandbox Code Playgroud)

数组仍然是一个元素字典