在 Python 中计算字符串中唯一字符的数量

目录

Count the number of unique characters in a String in Python

  1. 计算 Python 中字符串中唯一字符的数量
  2. 使用 dict.fromkeys() 计算字符串中唯一字符的数量
  3. 使用 for 循环计算字符串中唯一字符的数量

计算 Python 字符串中不重复字符的个数

要计算字符串中唯一字符的数量:

  1. 使用该类set()将字符串转换为set唯一字符。
  2. 使用该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 对象存储唯一元素的无序集合,因此将字符串转换为 aset会删除所有重复字符。

最后一步是使用该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() 计算字符串中唯一字符的数量

这是一个两步过程:

  1. 使用该dict.fromkeys()方法从字符串创建字典。
  2. 使用该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 循环计算字符串中唯一字符的数量

这是一个四步过程:

  1. 声明一个存储空列表的新变量。
  2. 使用for循环遍历字符串。
  3. 使用该list.append()方法将所有唯一字符附加到列表中。
  4. 使用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计算为,否则计算为TruexlFalse

x not in l返回 的否定x in l

list.append ()方法将一个项目添加到列表的末尾。

主程序
my_list = ['bobby', 'hadz'] my_list.append('com') print(my_list) # 👉️ ['bobby', 'hadz', 'com']

最后一步是使用len()函数获取唯一字符列表的长度。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: