Рубрики
Без рубрики

Как проверить, если объект имеет тип списка в Python?

Состав задачи: учитывая объект Python. Как проверить, если данный объект Python имеет тип списка? Пример: Учитывая словарь, для которого вы не знаете значения, связанные с ключами. Например, предположим, что у вас есть вход Dict [Key], для которого вы не знаете тип. Как проверить, является ли это список? Учитывая: … Как проверить, если объект имеет тип списка в Python? Подробнее “

Автор оригинала: Chris.

Проблема формулировки : Учитывая объект Python. Как проверить, имеет ли данный объект Python Type Список ?

Пример : Учитывая Словарь Для чего вы не знаете значения, связанные с ключами. Например, предположим, что у вас есть вход Dict [Key] для чего вы не знаете тип. Как проверить, является ли это список?

Given:    object
Goal:      True  ----  if object is of type list
           False  ---- otherwise

Метод 1: Тип (объект)

Самый простой способ проверить, если объект имеет тип Список это использовать встроенный Python Тип () Функция, которая возвращает тип объекта, переданного в него. Затем вы можете использовать оператор равенства для сравнения полученного типа объекта со списком с использованием выражения Тип (объект) Отказ

>>> d = {1: [1, 2, 3],
	 2: 'hello'}
>>> type(d[1]) == list
True

Если вы проверяете не списку, возвращаемое значение – Ложь :

>>> type(d[2]) == list
False

Обратите внимание, что это не самое решение для Pythonic, потому что Python – это слабо напечатанный язык – вы можете переопределить имя Список В вашем коде, в этом случае это не будет работать должным образом:

>>> d = {1: [1, 2, 3],
	 2: 'hello'}
>>> list = 42
>>> type(d[1]) == list
False

Ух ты! Это грязно! Внезапно ваш словарь, кажется, больше не является списком! Конечно, он все еще есть – код не работает просто потому, что имя Список теперь связан с целочисленным значением:

>>> type(list)

Поэтому рекомендуется использовать Isinstance () Встроенный метод вместо этого проверить, имеет ли объект типа Список Отказ

Метод 2: Isinstance (объект, список)

Самый питонический способ проверить, если объект имеет тип Список это использовать встроенный функцию Python Isinstance (объект, список) Это возвращает либо Правда или Ложь Отказ

>>> d = {1: [1, 2, 3],
	 2: 'hello'}
>>> isinstance(d[1], list)
True
>>> isinstance(d[2], list)
False

Обратите внимание, что если вы перезаписываете список имени с целочисленным значением, Python, по крайней мере, бросит ошибку (которая хорошая вещь, потому что в отличие от метода 1, вы теперь будете знать о ошибке)!

>>> list = 42
>>> isinstance(d[1], list)
Traceback (most recent call last):
  File "", line 1, in 
    isinstance(d[1], list)
TypeError: isinstance() arg 2 must be a type or tuple of types

Тем не менее, вы должны знать, что используя Isinstance () Это не конец – все будет исправлено для этой проблемы перезаписи Имя Список – все еще можно сделать. Тем не менее, это будет работать в меньшем количестве случаев.

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/how-to-check-if-an-object-is-of-type-list-in-python/”