2014-09-26 51 views
-2

經過大量的搜索和嘗試後,我一直無法找到一個awnser。我的問題是我想計算列表中的條目數量,但我的列表是「動態的」,因此它可以包含大量條目或僅包含一個條目。有問題的是len()函數在列表中只有一個條目時不返回1,則返回字符數。當條目數大於1時len()工作正常。但我需要它返回1而不是列表中字符串的長度。我怎樣才能做到這一點?當列表中有一個條目時,計算列表中的條目數

所以它是這樣的:

List = ('abcdefg',) 
len(List) returns 7 instead of 1 

但能正常工作:

List = ('abcdefg','aqwedfd','foobar') 
len(List) returns 3 

許多在此先感謝! 編輯:()應該是[]

+0

這不是一個列表。這是一個括號中的字符串;第二個是一個元組。一個元組元組用逗號寫成:'(1,)' – 2014-09-26 17:02:53

+0

你的第一個例子不是一個列表。 '((''abc'))''返回''str''。你的第一個列表應該定義爲''l = ['abcdefg']'',''t =('abcdefg',)''作爲元組。 – 2014-09-26 17:03:20

+1

編輯這個問題使得這不再是一個問題。 – chepner 2014-09-26 17:04:44

回答

0

的Python如果你要計算列表中的使用len()元素的數量使得列表與[]

>>> my_list = ['abcdefg'] 
>>> len(my_list) 
1 
+0

我試過這個,我現在覺得很愚蠢:P – user3157264 2014-09-26 17:08:11

0

。您可能已經意外計算了一些不是列表的數據,例如一個字符串。

相關問題