2017-09-15 94 views
0

我的一个作业问题有困难。计算列表中的字符串中的字符,Python

基本上,我要创建一个函数,使用for循环来计算列表中的字符串中使用的字符。我能够使用len()获取字符串的长度,但是我只能得到其中一个字符串,而我似乎无法以列表形式获取它。

我的代码:

def method1(input1): 

    total = 0 

    a = [] 

    for word in input1: 

     total = len(word) 

     a = [total] 

    return a 

这将返回[3]输入[ '七', '一']

任何帮助,将不胜感激。我对Python很陌生。

+0

'return sum([len(a)for a in input1])' – jordanm

+0

所有你需要做的就是'a + = [total]'。这将返回列表形式的字符串长度。所以如果你的输入是'['Seven','one']'。它会返回'[5,3]' – Digvijayad

+0

@Digvijayad那就是诀窍!非常感谢! – JDF

回答

1

那么这里是一种做法。你有一个列表“a”,里面有不同的字符串。您可以简单地遍历每个字符串的计数为len的列表。

def method1(input1): 

    l = list(input1) 
    total = sum(len(i) for i in l) 
    return int(total) 

print(method1(["hello", "bye"])) 

您在这里做的是接收输入并将其转换为列表。然后对于列表中的每个值,计算它的长度。 sum将这些长度相加,最后返回total

+0

你不需要'int(total)'它已经是'int'了。你也不需要'l' - '因为我在input1中'就足够了 - 这可以归结为'返回sum(len(i)for i in input1)'或'return sum(map(len,input1) )' – AChampion

+0

感谢您的反馈! – ADug