所以,如果我有一个名为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)
没有显示列表的数量,这应该与'行数'。
我需要确定从文件中读取了多少行。
答案 0 :(得分:21)
这会将数据保存在列表列表中。
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]
答案 1 :(得分:1)
“上面使用的文本文件有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
答案 2 :(得分:0)
如果您的列表名称为listlen
,则只需输入len(listlen)
即可。这将返回python中列表的大小。
答案 3 :(得分:0)
方法len()返回列表中的元素数。
list1, list2 = [123, 'xyz', 'zara'], [456, 'abc']
print "First list length : ", len(list1)
print "Second list length : ", len(list2)
当我们运行以上程序时,它会产生以下结果 -
第一个列表长度:3 第二个列表长度:2
答案 4 :(得分:0)
您可以使用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