【问题标题】:How to find the shape or dimension of an array of dictionaries (or dictionary of dictionaries) in Python如何在 Python 中查找字典数组(或字典的字典)的形状或维度
【发布时间】:2021-05-08 01:34:51
【问题描述】:

假设我有一个字典数组:

thisdict={}
thisdict[0]={1: 'one', 2: "two"}
thisdict[1]={3: 'three', 4:'four'}
thisdict[2]={5: 'five', 6:'six'}

我怎样才能找到它的尺寸?我正在寻找 (3,2) -- 3 个字典,每个有 2 个条目。

len(thisdict) 产生 3。

np.shape(thisdict)返回()

np.size(thisdict) 返回 1。

如果我通过

将字典转换为数据框
import pandas as pd
tmp = pd.DataFrame.from_dict(thisdict)

那么,

np.size(tmp) = 18

np.shape(tmp) =(6,3)

因为 时间=

这仍然没有给我我想要的东西。

我想我能做到

len(thisdict) 后跟

len(thisdict[0])

获得我感兴趣的两个维度,但我认为有更好的方法。获取这两个维度的“正确”方法是什么?

【问题讨论】:

  • 是固定的条目长度吗?我的意思是 thisdict[0] 可以有 2 个条目,但 thisdict[1] 可以有 3 个条目
  • 谢谢。就我而言,是的 - 字典数组中的所有字典都具有相同数量的条目。

标签: python arrays dictionary shapes dimensions


【解决方案1】:

len(thisdict)len(thisdict[0]) 没有任何问题,前提是0-key 始终存在并且所有子字典的长度相同。如果没有,你可以使用类似

的东西
def dict_dims(mydict):
    d1 = len(mydict)
    d2 = 0
    for d in mydict:
        d2 = max(d2, len(d))
    return d1, d2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多