如何在 Python 中查找字典数组(或字典的字典)的形状或维度
How to find the shape or dimension of an array of dictionaries (or dictionary of dictionaries) in Python
假设我有一系列字典:
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)
returns ()
和
np.size(thisdict)
returns 1.
如果我通过
将字典转换为数据框
import pandas as pd
tmp = pd.DataFrame.from_dict(thisdict)
那么,
np.size(tmp)
= 18
和
np.shape(tmp)
=(6,3)
因为
tmp =
仍然没有找到我要找的东西。
我想我可以做到
len(thisdict)
后跟
len(thisdict[0])
获取我感兴趣的两个维度,但我认为有更好的方法。获得这两个维度的“正确”方法是什么?
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
假设我有一系列字典:
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)
returns ()
和
np.size(thisdict)
returns 1.
如果我通过
将字典转换为数据框import pandas as pd
tmp = pd.DataFrame.from_dict(thisdict)
那么,
np.size(tmp)
= 18
和
np.shape(tmp)
=(6,3)
因为 tmp =
仍然没有找到我要找的东西。
我想我可以做到
len(thisdict)
后跟
len(thisdict[0])
获取我感兴趣的两个维度,但我认为有更好的方法。获得这两个维度的“正确”方法是什么?
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