Найти длину списка подсписка, который сделан из списка и int - PullRequest
0 голосов
/ 09 октября 2018

согласно заголовку, как найти длину списка подсписка, составленного из списка и int.Например, дать список

ListNo=[[6,2,5],[3,10],4,1]

, он должен возвращать LengthSubList 3,2,1,1.

Я делаю следующий код,

LengthSubList=[len(x) for x in ListNo]

Но,компилятор выдаст следующую ошибку

object of type 'int' has no len()

Могу я узнать, что я делаю не так?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Ваш код будет вызывать len(4) и len(1) в вашем понимании списка, что приводит к самоочевидной ошибке.Попробуйте это:

LengthSubList=[len(x) if type(x) == list else 1 for x in ListNo]
0 голосов
/ 09 октября 2018

Проверьте, если это список, прежде чем делать len():

ListNo = [[6,2,5],[3,10],4,1]

print([len(x) <b>if isinstance(x, list)</b> else 1 for x in ListNo])
# [3, 2, 1, 1]

То, что вы ошиблись, вы не можете сделать len(4) и len(1), просто потому, что он вернет TypeError -объект типа 'int' не имеет len ().

...