【发布时间】:2015-07-11 05:09:42
【问题描述】:
有没有办法在 Python 中快速打印出 all 某些给定列表的元素的类型?
例如[1, 2, 3.5] 将给出int, int, float。
我找到的最接近回答我的问题的现有资源是:Test type of elements python tuple/list,它只提供整体 True/False 输出(这不是我想要的)。
【问题讨论】:
标签: python
有没有办法在 Python 中快速打印出 all 某些给定列表的元素的类型?
例如[1, 2, 3.5] 将给出int, int, float。
我找到的最接近回答我的问题的现有资源是:Test type of elements python tuple/list,它只提供整体 True/False 输出(这不是我想要的)。
【问题讨论】:
标签: python
如果您真的对列表中所有元素的类型感兴趣,那么您可以使用以下表达式:
list(type(x).__name__ for x in lst)
如果您只想知道列表中有多少个不同类型,您可以使用:
set(type(x).__name__ for x in lst)
【讨论】:
__name__ 属性在这里是如何运作的吗?
type(x) 返回类型对象,其__name__ 属性提供类型名称。
尝试以下方法:
for l in lst:
print(type(l))
在哪里lst = [1,2,3.5]
【讨论】:
在python中,type函数用于查找变量的数据类型。
>>> l = [1, 2, 3.5]
>>> [type(i) for i in l]
[<class 'int'>, <class 'int'>, <class 'float'>]
>>> [str(type(i)).split("'")[1] for i in l]
['int', 'int', 'float']
【讨论】:
mylist = [1, 1, 1.5]
map(lambda x: repr(type(x)), mylist)
【讨论】: