如何在python中获取列表列表的长度
Posted
技术标签:
【中文标题】如何在python中获取列表列表的长度【英文标题】:How to get length of a list of lists in python 【发布时间】:2013-12-07 16:53:47 【问题描述】:所以,如果我有一个名为 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)
没有显示列表的数量,它应该与“行数”相同。
我需要确定从文件中读取了多少行。
【问题讨论】:
在您的代码中,您有一个行(字符串)列表。不是列表列表。而且python会很高兴地计算空行...您检查以确保没有任何空行吗?len(myLines)
将为您提供该列表中的对象数量,无论它们是列表、字典还是字符串。
您的代码运行良好。按原样给我们文件。
只要print myLines
,原因就清楚了。
Python 将不会自动分割从逗号文件中读取的文本。如果您希望发生这种情况,请使用 csv
模块。
【参考方案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) 返回的是每个列表中的元素数,而不是列表列表的长度。”
听起来您正在阅读具有 3 行和 4 列的 .csv。如果是这种情况,您可以使用 .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】:你可以用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
【讨论】:
【参考方案4】:如果您的列表名称是listlen
,则只需输入len(listlen)
。这将在 python 中返回列表的大小。
【讨论】:
【参考方案5】:len() 方法返回列表中元素的数量。
list1, list2 = [123, 'xyz', 'zara'], [456, 'abc']
print "First list length : ", len(list1)
print "Second list length : ", len(list2)
当我们运行上面的程序时,它会产生以下结果 -
第一个列表长度:3 第二个列表长度:2
【讨论】:
以上是关于如何在python中获取列表列表的长度的主要内容,如果未能解决你的问题,请参考以下文章