Проверить, является ли объект списком списка в python?
Есть ли способ определить, является ли объект списком в python, используя type(obj)
→ list
.
Но как мы можем определить, является ли объект списком списка формы следующим образом:
[['a','b']['a','b'][][]]
Ответы
Ответ 1
Используйте isinstance()
для проверки определенного типа:
>>> isinstance([], list)
True
Используйте all()
, чтобы проверить, имеют ли все элементы определенного типа:
all(isinstance(elem, list) for elem in list_of_lists)
all()
короткое замыкание; если какой-либо из тестов возвращает False
, цикл завершается и возвращается False
. Только если все, кроме одного элемента, возвращаются True
, то all()
нужно проверить каждый элемент итерабельного.
Ответ 2
Если вы хотите убедиться, что каждый элемент в списке - это список, вы можете сделать что-то вроде этого:
if all(isinstance(i, list) for i in lst):
# All of the items are lists
-
isinstance(i, list)
- лучший способ записи type(i) == type(list)
или type(i) == list)
.
-
all()
возвращает True
, если все элементы в последовательности True
. Он вернет False
, если они не являются True
.