目录
Count the number of unique characters in a String in Python
计算 Python 字符串中不重复字符的个数
要计算字符串中唯一字符的数量:
- 使用该类
set()
将字符串转换为set
唯一字符。 - 使用该
len()
函数获取字符串中唯一字符的数量。
my_str = 'bobby' # ✅ using set() result = len(set(my_str)) print(result) # 👉️ 3
如果您需要获取字符串中的唯一字符,请改用以下代码示例。
my_str = 'bobby' # ✅ Get unique characters in a string (order not preserved) result = ''.join(set(my_str)) print(result) # 👉️ byo
该示例使用该类set()
来计算字符串中唯一字符的数量。
set ()类接受一个可迭代的可选参数,并返回一个新set
对象,其中的元素取自可迭代对象。
my_str = 'bobby' print(set(my_str)) # 👉️ {'y', 'b', 'o'}
set
会删除所有重复字符。最后一步是使用该len()
函数获取总计数。
my_str = 'bobby' result = len(set(my_str)) print(result) # 👉️ 3
len ()函数返回对象的长度(项目数)。
如果您需要获取字符串中的唯一字符,请使用str.join()
方法而不是len()
函数。
my_str = 'bobby' result = ''.join(set(my_str)) print(result) # 👉️ byo
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
调用该方法的字符串用作元素之间的分隔符。
或者,您可以使用该dict.fromkeys()
方法。
使用 dict.fromkeys() 计算字符串中唯一字符的数量
这是一个两步过程:
- 使用该
dict.fromkeys()
方法从字符串创建字典。 - 使用该
len()
函数获取字符串中唯一字符的数量。
my_str = 'bobby' result = len(dict.fromkeys(my_str)) print(result) # 👉️ 3
如果您需要获取唯一字符,请改用以下代码示例。
my_str = 'bobby' result = ''.join(dict.fromkeys(my_str).keys()) print(result) # 👉️ boy
dict.fromkeys方法接受一个可迭代对象和一个值,并使用可迭代对象中的键和设置为提供的值的值创建一个新字典。
my_str = 'bobby' # 👇️ {'b': None, 'o': None, 'y': None} print(dict.fromkeys(my_str))
字典键是唯一的,所以任何重复的字符都会被删除。
如果您需要获取字符串中的唯一字符,请使用str.join()
方法而不是len()
函数。
my_str = 'bobby' result = ''.join(dict.fromkeys(my_str).keys()) print(result) # 👉️ boy
我们使用该dict.keys()
方法来获取字典键的视图并将该对象连接到一个字符串中。
字典保留 Python 3.7 和更新版本中键的插入顺序。
或者,您可以使用简单的for 循环。
# 使用 for 循环计算字符串中唯一字符的数量
这是一个四步过程:
- 声明一个存储空列表的新变量。
- 使用
for
循环遍历字符串。 - 使用该
list.append()
方法将所有唯一字符附加到列表中。 - 使用
len()
函数获取列表的长度。
my_str = 'bobby' unique_chars = [] for char in my_str: if char not in unique_chars: unique_chars.append(char) print(len(unique_chars)) # 👉️ 3 print(unique_chars) # 👉️ ['b', 'o', 'y']
我们使用for
循环来遍历字符串。
在每次迭代中,我们使用not in
运算符检查字符是否不在列表中。
如果满足条件,我们使用该list.append()
方法将字符追加到列表中。
in 运算符测试成员资格。例如,如果是 的成员
,则x in l
计算为,否则计算为。True
x
l
False
x not in l
返回 的否定x in l
。list.append ()方法将一个项目添加到列表的末尾。
my_list = ['bobby', 'hadz'] my_list.append('com') print(my_list) # 👉️ ['bobby', 'hadz', 'com']
最后一步是使用len()
函数获取唯一字符列表的长度。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: