2017-10-21 27 views
0

Ich habe eine Liste namens Filme mit zwei Unterlisten eingebettet. Haben die Unterlisten auch Namen? Ich möchte len() BIF verwenden, um alle Elemente in der Liste und Unterlisten zu messen, wie mache ich das?Python len Funktion auf Liste mit eingebetteten Unterlisten und Strings

+0

gibt es eine Chance, dass Sie einige Beispiel Ein- und Ausgänge hinzufügen können, die Sie für sie erwarten sind? –

+0

Hier meine Liste: filme = ['Herr der Ringe', 'Star Trek', ['Captain Kirk', 'Spok', ['Big Bang', 'Anderer Film']]] –

+1

Fügen Sie Ihren Code hinzu, um zu zeigen, wie Bis jetzt hast du es versucht! – Xenolion

Antwort

1

Wenn Sie die Gesamtlänge aller Teillisten möchten, können Sie versuchen:

sum([len(sub) for sub in container_list]) 
1

U len() Funktion durch Angabe der inneren Sublisten

movies = [ [list1] , [list2] ] ; print(len(movies[0])); # prints length of 1st sublist print(len(movies[1])); #prints length of second sublist

0

verwenden können, können Sie verwenden map:

final_length = sum(map(len, data)) 
+1

wäre das nicht 'sum (map (len, data))'? – TemporalWolf

+0

@TemporalWolf siehe meine letzte Änderung. – Ajax1234

1

Für die Eingabe Sie prov haben ided, können Sie rekursiv Länge wie diese es finden:

def getLen(l): 
    c = 0 
    for e in l: 
     if isinstance(e, list): 
      c += getLen(e) # if the element is a list then recursively find it's length 
     else: 
      c += 1 # if not simply increase the count 
    return c 

OUTPUT:

>>> l = ['Lord of the Rings', 'Star Trek', ['Captain Kirk', 'Spok', ['Big Bang', 'Other Movie']]] 
>>> getLen(l) 
6 
Verwandte Themen