当列表中有一个条目时,计算列表中的条目数

问题描述:

经过大量的搜索和尝试后,我一直无法找到一个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

的Python如果你要计算列表中的使用len()元素的数量使得列表与[]

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

我试过这个,我现在觉得很愚蠢:P – user3157264 2014-09-26 17:08:11

。您可能已经意外计算了一些不是列表的数据,例如一个字符串。