获取对象中每个键的类型列表

时间:2017-02-16 16:56:59

标签: python list dictionary key

我开始用虹膜数据集学习Python机器学习的基础知识。我使用以下代码加载数据集:

from sklearn.datasets import load_iris
iris_dataset = load_iris()
然后我开始查看每个键的形状,但有些键是列表而没有形状。所以我用type(iris_dataset['feature_names'])查看每个键的类型。但是,我不想为每个密钥重复此代码。是否可以在此虹膜对象中获取每个键的类型?我试过这个,但显然不起作用:

In [30]: type(iris_dataset.keys())
Out[30]: dict_keys

2 个答案:

答案 0 :(得分:1)

  

所以我用type(iris_dataset['feature_names'])

查看每个键的类型

注意:您似乎希望将所有的类型设置为不同的键,而不是键本身的类型

您可以使用列表理解,对数据中的每个键应用type函数:

[type(iris_dataset[key]) for key in iris_dataset]

但是,假设iris_dataset是某种dict,键可能有任何顺序,因此单独列出类型还不能告诉您哪种类型对应于什么键的值。相反,您可能更喜欢元组列表(key, type)

[(key, type(iris_dataset[key])) for key in iris_dataset]

答案 1 :(得分:0)

您可以将内置类型映射到dict的键,并将map()包装在list()中以获取列表:

dict_key_types = list(map(type, iris_dataset.keys()))