Помощь! Я этого не понимаю. Когда я пытаюсь измерить длину списка в python 2.7 с len(), я получаю неправильный результат.Измерение длины списка с помощью len() дает неправильные результаты
Вот код:
if len(fields) > 0:
fields_split = []
for i in fields:
i = i.split(',')
fields_split.append(i)
reindz = len(fields_split)
print fields
print reindz
print fields_split
Вот вывод:
[u'name,description']
1
[[u'name', u'description']]
[u'name,description']
1
[[u'name', u'description']]
[u'name,description']
1
[[u'name', u'description']]
[u'name']
1
[[u'name']]
[u'name']
1
[[u'name']]
[u'name']
1
[[u'name']]
Таким образом, даже несмотря на то, расщепленный вызов работает там нет разницы в длине между списками, содержащих один и два элемента ...
ваш список содержит строку с запятой в этом, на первый взгляд. Кроме того, я думаю, что проблема заключается в вашей строке 'i = i.split()'. Вероятно, это беспорядок цикла – Jeremy
В вашем списке есть только один элемент, который является еще одним списком с двумя элементами. – Lafexlos
Посмотрите на первую строку после каждого номера - это результат печати fields_split, и он содержит две строки [[u'name ', u'description']] правильно? вот в чем проблема ... – treakec