2015-07-11 2 views
0

Есть ли способ быстро распечатать тип все элементы определенного списка в Python?Тип всех элементов в списке Python

Например, [1, 2, 3.5] дал бы int, int, float.

Самый близкий существующий ресурс, который я нашел, чтобы ответить на мой вопрос: Test type of elements python tuple/list, который просто дает целостные True/False выходы (это не то, что я ищу).

ответ

4

Попробуйте следующее:

for l in lst: 
    print(type(l)) 

Где lst = [1,2,3.5]

2

В 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'] 
1
mylist = [1, 1, 1.5] 
    map(lambda x: repr(type(x)), mylist) 
5

Если вы действительно заинтересованы в типы всех элементов в списке, то вы можете использовать это выражение:

list(type(x).__name__ for x in lst) 

Если вы хотите знать, сколько различные типы находятся в вашем списке, вы можете использовать это:

set(type(x).__name__ for x in lst) 
+0

Можете ли вы объяснить, как '__name__' атрибут работает здесь? – warship

+0

'type (x)' возвращает объект * type *, атрибут '__name__' предоставляет имя * типа *. – dlask

Смежные вопросы