如何将两个输出存储为字典中的键和值,在Python中,键和值是否分别具有输出中的相应索引
我已经做了以下尝试:
olabel = []ldate = []label = olabel.append(output)date = ldate.append(ld) outputList = {label[i]:date[i] for i in range(10)}
我的K最近邻算法的两个输出将是output和ld。例如,我的K最近邻算法的前两个输出是:
output = 'Light1on'ld = '2019-10-28 09:59:00'
输出应该是outputList,其中label和date将被更新到各自的列表中,并通过它们在列表中的相应索引转换成字典:
label=['Light1on']date =['2019-10-28 09:59:00']outputList = [Light1on:2019-10-28 09:59:00]
更新一次后:
label=['Light1on','Light2on']date =['2019-10-28 09:59:00','2019-10-28 10:59:00']outputList = [Light1on:2019-10-28 09:59:00, Light2on:2019-10-28 10:59:00]
回答:
可以使用zip()
来实现你想要的结果。
label=["something","anything","nothing"]date=['31st feb','32nd dec','1st jan']outputList={i:j for i,j in zip(label,date)}print(outputList)
输出:
{'something': '31st feb', 'anything': '32nd dec', 'nothing': '1st jan'}
你的代码中的错误
label = olabel.append(output)date = ldate.append(ld)
无论你添加多少元素,label
始终是None
,因为append()
不会返回任何东西,它只是就地修改列表。
如果你想将olabel
的值复制到label
,你可以这样做:
olabel.append(output)label=olabel[:]