Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 11, 2016 15:40:55

Lestoroer
Зарегистрирован: 2015-12-24
Сообщения: 88
Репутация: +  5  -
Профиль   Отправить e-mail  

Список

Еще вопросик. Некоторую литературу глянул, вроде там нету ответа на мой вопрос.
Допустим есть список :

x = [1,2,3,4,5]
Есть какой-нибудь метод, чтобы проверял x на список ?
Т.е. если x является списком, то метод возвращает True, а если, допустим, кортеж\строка, то возвращает False?

Отредактировано Lestoroer (Апрель 11, 2016 15:41:11)

Офлайн

#2 Апрель 11, 2016 15:43:12

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Список

type(x) == list

Офлайн

#3 Апрель 11, 2016 15:43:16

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Список

print(type([1, 2, 3]) is list)

Офлайн

#4 Апрель 11, 2016 15:46:06

Lestoroer
Зарегистрирован: 2015-12-24
Сообщения: 88
Репутация: +  5  -
Профиль   Отправить e-mail  

Список

Отлично, благодарю.

Офлайн

#5 Апрель 11, 2016 15:50:45

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Список

еще есть isinstance
http://pythoner.name/isinstance-type



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Апрель 11, 2016 16:35:02

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

Список

Поддержу ZerG - это лучший вариант, т.к. это самый гибкий и быстрый вариант:

>>> class CustomList(list):
...   pass
... 
>>> lst = CustomList()
>>> type(lst) is list
False
>>> isinstance(lst, list)
True

Офлайн

#7 Апрель 11, 2016 21:18:36

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Список

Lestoroer
а если, допустим, кортеж\строка, то возвращает False?
А зачем? По идеологии питона надо чтобы были методы которыми вы хотите воспользоваться.
Списки изменяемые объекты, кортеж\строка неизменяемые. Если вам именно это важно то это и проверяйте.
>>> hasattr([],"__setitem__")
True
>>> hasattr("aaa","__setitem__")
False



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version