web-dev-qa-db-fra.com

Comment obtenir la longueur d'une liste de listes en python

Ainsi, si j'ai une liste appelée myList, j'utilise len(myList) pour trouver le nombre d'éléments dans cette liste. Bien. Mais comment trouver le nombre de listes dans une liste?

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

Le fichier texte ci-dessus utilisé a 3 lignes de 4 éléments séparés par des virgules. La variable numLines s'imprime sous la forme «4» et non «3». Donc, len(myLines) renvoie le nombre d'éléments dans chaque liste et non la longueur de la liste.

Lorsque j'imprime myLines[0], je reçois la première liste, myLines[1] la deuxième liste, etc. Mais len(myLines) ne me montre pas le nombre de listes, qui devrait être identique à 'nombre de lignes'.

Je dois déterminer combien de lignes sont lues dans le fichier.

13
user3022562

Cela enregistre les données dans une liste de listes.

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]
19
Javier Castellanos

"Le fichier texte ci-dessus utilisé a 3 lignes de 4 éléments séparés par des virgules. La variable numLines s’affiche sous la forme" 4 "et non" 3 ". Ainsi, len (myLines) renvoie le nombre liste de listes "

On dirait que vous lisez dans un fichier .csv avec 3 lignes et 4 colonnes. Si tel est le cas, vous pouvez trouver le nombre de lignes et de lignes à l'aide de la méthode .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
1
duhaime

La méthode len () renvoie le nombre d'éléments de la liste.

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

Lorsque nous exécutons le programme ci-dessus, le résultat suivant est obtenu:

Première longueur de liste: 3 Deuxième longueur de liste: 2

0
Anoop Singh

si le nom de votre liste est listlen, il vous suffit de taper len(listlen). Cela retournera la taille de votre liste dans le python.

0
Anoop Singh