我想創建一個從文件中讀取值的關聯數組。我的代碼看起來像這樣,但它給了我一個錯誤,說我不能指示必須是整數。Python:在循環中創建關聯數組
由於=]
for line in open(file):
x=prog.match(line)
myarray[x.group(1)]=[x.group(2)]
我想創建一個從文件中讀取值的關聯數組。我的代碼看起來像這樣,但它給了我一個錯誤,說我不能指示必須是整數。Python:在循環中創建關聯數組
由於=]
for line in open(file):
x=prog.match(line)
myarray[x.group(1)]=[x.group(2)]
因爲數組的下標應該是一個整數
>>> 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]
x.group(1)應該是一個整數或
如果正在使用地圖定義地圖第一
myarray = {}
for line in open(file):
x=prog.match(line)
myarray[x.group(1)]=[x.group(2)]
Python中的關聯數組稱爲映射。最常見的類型是dictionary。
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
由於您的代碼不完整,我們必須猜測。請包括**所有**的相關代碼。例如,'myarray'必須在某處進行初始化,否則會得到一個NameError。請包括**所有**的相關代碼。 – 2010-10-22 11:04:19