计算单词中不同字符的数量

时间:2015-04-20 19:29:47

标签: python for-loop while-loop counting

我试图想一个程序来计算Python中单词中不同字符的数量。

例如:

  • 鉴于输入:

    ('Banana') 
    
  • 预期输出:

    3
    

如何使用whilefor循环执行此操作?

谢谢

3 个答案:

答案 0 :(得分:7)

不需要循环。您可以使用set

在字符串中找到唯一字符
len(set('Banana'))

这将输出3。如果要查看哪些字符是唯一的,请删除len包装器:

set('Banana')

输出:

set(['a', 'B', 'n'])

注意: Bb是唯一的。如果你有一个像Baby这样的词,你就会得到这个:

set(['a', 'y', 'B', 'b'])

要防止这种情况,请将字符串转换为全部大写或全部小写:

set('Baby'.lower())

输出:

set(['a', 'y', 'b'])

答案 1 :(得分:2)

>>> len(set('Banana'))
3

答案 2 :(得分:1)

注意:对于未来的读者,此解决方案仅被接受,因为OP仅限于使用循环。 @Andy's解决方案使用Python的set()函数提供了更好的替代方案。

使用for循环:

word='Banana'

L=[]                           #create an empty list
for letter in word:
    if letter not in L:
        L.append(letter)       #append unique chars to list

print len(L)                   #count the chars in list