如何在Python中将3个元组组合在一起

时间:2016-07-29 17:41:44

标签: python python-2.7 python-3.x

我试着计算列表中的字符组合。在我的剧本中,我可以统计元组,但我不知道如何计算列表中的字符总数。

这是我用过的脚本。

def count(num):
    character = 0
    for i in num:
        character += 1
    return character

count ('1234','1234',1234')

我的答案是3

我想要显示12.我该怎么做?

3 个答案:

答案 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()来获取合并元组/列表的长度。