Как получить длину списка списков в python
Итак, если у меня есть список под названием myList, я использую len(myList)
, чтобы найти количество элементов в этом списке. Хорошо. Но как найти количество списков в списке?
text = open("filetest.txt", "r")
myLines = text.readlines()
numLines=len(myLines)
print numLines
В приведенном выше текстовом файле есть 3 строки из 4 элементов, разделенных запятыми. Переменная numLines выводится как "4", а не "3". Таким образом, len(myLines)
возвращает количество элементов в каждом списке, а не длину списка списков.
Когда я печатаю myLines[0]
, я получаю первый список, myLines[1]
второй список и т.д. Но len(myLines)
не показывает мне количество списков, которое должно быть таким же, как "количество строк".
Мне нужно определить, сколько строк считывается из файла.
Ответы
Ответ 1
Это сохраняет данные в списке списков.
text = open("filetest.txt", "r")
data = [ ]
for line in text:
data.append( line.strip().split() )
print "number of lines ", len(data)
print "number of columns ", len(data[0])
print "element in first row column two ", data[0][1]
Ответ 2
"В приведенном выше текстовом файле есть 3 строки из 4 элементов, разделенных запятыми. Переменная numLines выводится как" 4 ", а не" 3 ". Таким образом, len (myLines) возвращает количество элементов в каждом списке, а не длина списка списков."
Похоже, вы читаете в .csv с 3 строками и 4 столбцами. Если это так, вы можете найти количество строк и строк с помощью метода .split():
text = open("filetest.txt", "r").read()
myRows = text.split("\n") #this method tells Python to split your filetest object each time it encounters a line break
print len(myRows) #will tell you how many rows you have
for row in myRows:
myColumns = row.split(",") #this method will consider each of your rows one at a time. For each of those rows, it will split that row each time it encounters a comma.
print len(myColumns) #will tell you, for each of your rows, how many columns that row contains
Ответ 3
если имя вашего списка listlen
, то просто введите len(listlen)
. Это вернет размер вашего списка в python.
Ответ 4
Метод len() возвращает количество элементов в списке.
list1, list2 = [123, 'xyz', 'zara'], [456, 'abc']
print "First list length : ", len(list1)
print "Second list length : ", len(list2)
Когда мы запускаем программу выше, она производит следующий результат:
Первая длина списка: 3
Длина второго списка: 2
Ответ 5
Вы можете сделать это с помощью Reduce:
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [], [1, 2]]
print(reduce(lambda count, l: count + len(l), a, 0))
# result is 11