2013-11-22 9 views
10

私はmyListというリストを持っていますが、そのリスト内の要素の数はlen(myList)です。ファイン。リスト内のリストの数はどのようにして調べることができますか?リストのリストの長さをPythonで得る方法

text = open("filetest.txt", "r") 
myLines = text.readlines() 
numLines=len(myLines) 
print numLines 

上記のテキストファイルには、3行の4つの要素がカンマで区切られています。変数numLinesは '3'ではなく '4'として表示されます。したがって、len(myLines)はリストのリストの長さではなく、各リストの要素の数を返しています。

私はmyLines[0]を印刷するとき、私は最初のリスト、myLines[1]第二のリストなどを取得する。しかし「行の数」と同じであるべきである、私のリストの数をlen(myLines)表示されません。

ファイルから読み取っている行の数を調べる必要があります。

+5

、あなたが行のリストを持っている(文字列) 。リストのリストではありません。そして、Pythonは空の行をうれしくカウントします...空の行がないことを確認しましたか? – mgilson

+0

'len(myLines)'は、リスト、辞書、文字列であっても、リスト内のオブジェクトの数を返します。 – jramirez

+0

あなたのコードは正常に動作します。私たちにファイルをそのまま与えてください。 – tMJ

答えて

1

"上記のテキストファイルでは、3行4つの要素がカンマで区切られています。変数numLinesは '3'ではなく '4'として出力されるため、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

これはリストのリストにデータが保存されます。あなたのリストの名前がlistlenある場合

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

そしてちょうど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番目のリストの長さ:2あなたのコードで

関連する問題