在文件列表中,我試圖得到2個分開的新列表:子集A和子集B.這意味着子集A中的元素(整數)應該等於子集B.該程序使用回溯的方式來解決問題),但是我收到:Backtracking typeerror python
Subset A: <map object at 0x311b110>
Subset B: <map object at 0x311b190>
和一個錯誤:
line 93, in getSuccessors
cfgA.subA.append(config.input[config.index])
TypeError: 'map' object is not subscriptable
,我指定的地圖中的構造函數是:
def mkPartitionConfig(filename):
"""
Create a PartitionConfig object. Input is:
filename # name of the file containing the input data
Returns: A config (PartitionConfig)
"""
pLst = open(filename).readline().split()
print(pLst)
config = PartitionConfig
config.input = map(int, pLst)
config.index = 0
config.subA = []
config.subB = []
return config
,並在那裏我得到一個錯誤的功能:
def getSuccessors(config):
"""
Get the successors of config. Input is:
config: The config (PartitionConfig)
Returns: A list of successor configs (list of PartitionConfig)
"""
cfgA = deepcopy(config)
cfgB = deepcopy(config)
cfgA.subA.append(config.input[config.index])
cfgB.subB.append(config.input[config.index])
cfgA += 1
cfgB += 1
return [configA, configB]
什麼我這裏做錯了嗎?
? –