我目前正在将数据作为元组存储到字典中,但我不知道如何从字典本身解包元组。我得到一个ValueError,说的太多值,以我尝试的方式解压缩。这是代码:
for row in csvReader:
if row['de_description'] and row['nh_description']:
if 'XT2R' in row['de_description']:
id = (row['de_description'], row['nh_description']:
if ('TCN' in row['de_description'] and '77880' in row['src_dp']:
rounded_time = int(float(row['rr_polltime']))
dataDict[id].append((rounded_time, row['rr_age']))
timeSet.add(rounded_time)
fileHandle.close()
#unpacking tuple?
for id, (valX,valY) in dataDict.iteritems():
ageSet.add(valY)
print "ageSet=", ageSet
我也意识到我的代码中存在大量冗余,但这不是我目前的问题。如果有人曾经从字典中解压缩元组,那么指向正确的方向就会很棒。
答案 0 :(得分:0)
参考
dataDict[id].append((rounded_time, row['rr_age']))
您的dataDict
似乎是列表字典,因为您将值(在本例中为元组)附加到dataDict[id]
。
但是,dataDict.iteritems()
会返回键值对的iter
个对象,它是字典键和列表。
尝试将列表解压缩到(valX, valY)
会导致您遇到ValueError
。