我有一个字典变量,它包含一个键及其对应的数组形式的值。
示例-
dict3
'2020-05-24T10:44:28.448188':[-1.0, 0.0, 0.0, 1.0, 0.0, 1.0],
'2020-05-24T10:44:28.511500':[-1.0, 0.0, 0.0, 1.0, 0.0, 1.0],
'2020-05-24T10:44:28.574870':[-1.0, 0.0, 0.0, 1.0, 0.0, 1.0],
'2020-05-24T10:44:28.976331':[-1.0, 0.0, 0.0, 1.0, 0.0, 1.0],
'2020-05-24T10:44:29.043868':[-1.0, 0.0, 0.0, 1.0, 0.0, 1.0],
现在,我想将对的值部分切成索引3。来自
[-1.0, 0.0, 0.0, 1.0, 0.0, 1.0]
到
[-1.0, 0.0, 0.0, 1.0]
我读过,不可能仅将字典中的值部分切片。因此,我将其转换为列表,并在那里进行切片。
st = [(k,v[:4]) for k, v in dict3.items()]
然后转换回字典。
dict3 = dict(st)
这是一个好方法吗?我将不得不将此逻辑扩展到具有110,000行的更大的数据集。
有更好的方法吗?
任何帮助将不胜感激。谢谢。
Dictionnary comprehension将在一个操作中将其压缩:
st = {key: value[:4] for key, value in dict3.items()}
我相信这对于110,000行应该没问题。它将内存占用量增加一倍,直到旧字典被垃圾回收为止,但是110,000不会那么多。
您可以将dictionary comprehension
与eval
一起使用