2013-11-22 61 views
10

因此,如果我有一個名爲myList的列表,我使用len(myList)來查找列表中元素的數量。精細。但是,如何找到列表中的列表數量?如何獲取Python列表中列表的長度

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)不顯示我列表的數量,這應該是相同的「行數」。

我需要確定有多少行正在從文件中讀取。 「

+5

在你的代碼,你行的列表(字符串) 。不是列表的列表。蟒蛇會高興地計數空行......你檢查過,以確保你沒有任何空行嗎? – mgilson

+0

'len(myLines)'會給你列表中的對象數量,無論它們是列表,字典還是字符串。 – jramirez

+0

你的代碼工作得很好。按原樣提供給我們文件。 – tMJ

回答

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 
15

這將數據保存在列表中。

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] 
0

,如果你的列表的名稱是listlen然後只需鍵入len(listlen)。這將在Python中返回列表的大小。

0

方法len()返回列表中元素的數量。

list1, list2 = [123, 'xyz', 'zara'], [456, 'abc'] 
    print "First list length : ", len(list1) 
    print "Second list length : ", len(list2) 

當我們運行上面的程序,它會產生以下結果 -

第一個列表長度:3 第二個清單長度:2

相關問題