У меня есть список, который может содержать или не содержать подкризисные элементы в качестве элементов, и мне нужно проверить, является ли элемент незарезанным.Поиск подсписок внутри списков
Для примера рассмотрим
>>> list = ['a', 'b', 'c', ['d', 'e'] ]
Как я бы ожидать, я получаю
>>> list[2]
'c'
>>> list[3]
['d', 'e']
>>> list[3][1]
'e'
и
>>> len(list[1])
1
>>> len(list[3])
2
, а также
>>> type(list[1])
<type 'str'>
>>> type(list[3])
<type 'list'>
Пока все хорошо. Однако, совершенно неожиданно (по крайней мере, для питона новичка, как я)
>>> type(list[1]) is list
False
>>> type(list[3]) is list
False
Может кто-нибудь объяснить это? Ясно, что я могу просто использовать len()
, чтобы определить, является ли элемент подсписком, но я думаю, что явная проверка типов должна быть более уместной, поскольку это более точное описание того, что я хочу делать. Благодарю.
Я не уверен, что вы можете использовать 'len()'. Если ваш список был '['ab', 'cd', 'ef']', то каждый элемент имел бы длину> 1. – Holloway