统计一个单词中不同字符的个数
Counting number of different characters in a word
我正在想一个程序来计算 Python 中一个单词中不同字符的数量。
例如:
给定输入:
('Banana')
预期输出:
3
如何使用 while
或 for
循环来执行此操作?
谢谢
>>> len(set('Banana'))
3
不需要循环。您可以使用 set
查找字符串中的唯一字符
len(set('Banana'))
这将输出3
。如果您想查看哪些字符是唯一的,请删除 len
包装器:
set('Banana')
输出:
set(['a', 'B', 'n'])
注意: B
和 b
是唯一的。如果你有一个像 Baby
这样的词,你会得到这个:
set(['a', 'y', 'B', 'b'])
为防止出现这种情况,请将您的字符串转换为全部大写或全部小写:
set('Baby'.lower())
输出:
set(['a', 'y', 'b'])
注意:对于未来的读者,此解决方案仅被接受,因为 OP 仅限于使用循环。 solution provides a much better alternative using Python's 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
我正在想一个程序来计算 Python 中一个单词中不同字符的数量。
例如:
给定输入:
('Banana')
预期输出:
3
如何使用 while
或 for
循环来执行此操作?
谢谢
>>> len(set('Banana'))
3
不需要循环。您可以使用 set
len(set('Banana'))
这将输出3
。如果您想查看哪些字符是唯一的,请删除 len
包装器:
set('Banana')
输出:
set(['a', 'B', 'n'])
注意: B
和 b
是唯一的。如果你有一个像 Baby
这样的词,你会得到这个:
set(['a', 'y', 'B', 'b'])
为防止出现这种情况,请将您的字符串转换为全部大写或全部小写:
set('Baby'.lower())
输出:
set(['a', 'y', 'b'])
注意:对于未来的读者,此解决方案仅被接受,因为 OP 仅限于使用循环。 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