Вы можете использовать функцию iter
, чтобы проверить, является ли элемент итеративным, и если это так, получить его длину, иначе добавить 1
:
lista=[("a,b,c"),1,1,2,(1,"n")]
for elem in lista:
try:
iter(elem)
print(len(elem))
except TypeError:
print(1)
Результат:
5
1
1
1
2
Причина, по которой первый элемент является 5
, а не 3
, заключается в том, что первый элемент lista
- это кортеж, содержащий только одну строку.Может быть опечатка.