我试着计算列表中的字符组合。在我的剧本中,我可以统计元组,但我不知道如何计算列表中的字符总数。
这是我用过的脚本。
def count(num):
character = 0
for i in num:
character += 1
return character
count ('1234','1234',1234')
我的答案是3
我想要显示12.我该怎么做?
答案 0 :(得分:3)
def count(num):
total = 0
for i in num:
total += len(i)
return total
或者,更短,更pythonic:
def count(num):
return sum(len(x) for x in num)
此外,您还需要使用列表或元组参数调用它,例如:数((' 1234',' 1234',' 1234')
您还可以在方法定义中添加一个星号(def count(* num)),以便能够以与原始方式相同的方式调用它。
答案 1 :(得分:3)
我更喜欢詹姆斯'方法,因为它感觉更惯用,但这是功能方法的样子:
count('1234', '1234', '1234')
如果您希望通过调用count(('1234', '1234', '1234'))
代替def count(*num)
来实现此目的,则可以使用def count(*num):
return sum(len(n) if isinstance(n, str) else count(*n) for n in num)
定义该功能。
最后,如果你想让这两个调用都工作(并且你确定原子类型只是一个字符串),你可以这样做:
npm install moment --save
答案 2 :(得分:0)
如果您需要各种操作的功能,可以使用以下定义(只要mylist不是嵌套列表)。
def countchars(mylist):
return sum([len(item) for item in mylist])
或者,您可以将元组/列表合并在一起,并使用len()来获取合并元组/列表的长度。