2016-09-19 80 views
0

目前,我只是測試了這一點,並將其添加到我的程序,一旦我明白了。我只想知道如何在列表中找到列表的長度。如何找到列表中的列表長度? (Python3)

我已經試過:

l = [["1","2","3"],["1","2","3","4"],["1","2","3","4","5"]] 
[print(len(x)) for x in l[0]] 

但它只是打印1點三倍。我只需要它打印(或返回)l內的每個列表的長度。

+0

只有改變'L [0]''到它l'工作是我的系統上.. –

回答

4

你有一個錯字:你寫了l[0]其中l已經足夠。

for x in l: 
    print(len(x)) 

請注意,這是不好的做法,有副作用的列表理解 - 列表內涵是創造價值,而不是改變全局狀態。你應該使用for循環。

+0

什麼副作用出現在OP的名單補償?它根本不會改變全局狀態 - 它只是一種更簡潔,更爲Pythonic創建'for'循環的方式。 – MattDMo

+0

'print'是一個副作用。使用列表推導來執行副作用,然後拋棄該值肯定不是Pythonic。請參閱[這個問題](http://stackoverflow.com/questions/5753597/is-it-pythonic-to-use-list-comprehensions-for-just-side-effects)。 –

+0

'print()'如何產生副作用?我只是好奇... – MattDMo

0
for x in l: 
    print(len(x)) 

它打印:

3 
4 
5