嵌套字典追溯更新值

2024-09-29 06:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用python构建嵌套字典时遇到了一些问题。类似的场景如下:Why do nested dictionaries update retroactively?

我不想这种追溯更新行为,我想知道如何最好地覆盖它。我可以通过使用copy.deepcopy()使它正常工作,但是对于大型数据集来说这是非常慢的

基本上,这段代码应该做的是使用fileData的前两列作为指向最后两列的键来创建一个嵌套字典

示例:

header = ['key1', 'key2', 'value1', 'value2']
fileData = [[1, 1, 67, 89],
            [1, 2, 34, 54],
            [1, 3, 56, 56],
            [2, 1, 89, 89],
            [2, 2, 89, 45],
            [2, 3, 45, 45]]
data = {}
timeData = {}
dictTime = fileData[0][0]
for j in range(len(fileData)):
    record = fileData[j]
    recordData = {}
    for i in range(2, len(record)):
        recordData[header[i]] = record[i]
        timeData[int(record[1])] = recordData
        if j == 2 or j == 5: data[record[0]] = timeData
print(data)

迈克


Tags: infordatalen字典场景rangerecord