首页 > 解决方案 > 如何在python中对orderedDict中的值元素进行切片?

问题描述

所以,我有这段代码,如何在orderedDict 中分割值元素?

import numpy as np
from collections import OrderedDict
x = OrderedDict()
val= np.array((1,2))
key= 40
x[key]= val
x[key]= val,3
print(x)

返回:

OrderedDict([(40, (array([1, 2]), 3))]) #  <- i want to slice this 2nd value element 

目标输出:

OrderedDict([(40, array([1, 2])])  

标签: pythonordereddict

解决方案


@Caina 很接近,但他的版本不太正确,因为它在结果中留下了一个额外的收集层。这是返回您请求的确切结果的表达式:

x_sliced = OrderedDict({k:x[k][0] for k in x})

结果:

OrderedDict([(40, array([1, 2]))])

实际上,从技术上讲,这不是您所要求的。您的版本缺少一个结束“)”,但我认为这只是一个错字。


推荐阅读