Python 程序如何从字符流中查找第一个非重复字符?
programmingpythonserver side programming更新于 2025/3/14 23:40:17
在本文中,我们将从字符流中查找第一个非重复字符。假设以下是我们的输入 -
这就是
以下应该是我们的输出,显示第一个非重复字符 -
H
使用 while 循环从字符流中查找第一个非重复字符
我们将通过使用循环将每个字符与另一个字符进行比较来找到第一个非重复字符 -
示例
# String myStr = "thisisit" # Looping while myStr != "": slen0 = len(myStr) ch = myStr[0] myStr = myStr.replace(ch, "") slen1 = len(myStr) if slen1 == slen0-1: print ("First non-repeating character = ",ch) break; else: print ("No Unique Character Found!")
输出
No Unique Character Found! First non-repeating character = h
使用函数从字符流中查找第一个非重复字符
我们还可以创建一个自定义函数并将字符串传递给它以查找第一个非重复字符 −
示例
# Custom function def RepeatingFunc(myStr): char_order = [] counts = {} for c in myStr: if c in counts: counts[c] += 1 else: counts[c] = 1 char_order.append(c) for c in char_order: if counts[c] == 1: return c return None print("First Non-Repeating Character = ",RepeatingFunc('thisisit'))
输出
First Non-Repeating Character = h
使用 Counter() 从字符流中查找第一个非重复字符
Counter 还可以从 Collections 模块中使用,以查找第一个非重复字符。此模块实现了专门的容器数据类型,为 Python 的通用内置容器、字典、列表、集合和元组提供了替代方案 -
示例
from collections import Counter def repeatFunc(myStr): freq = Counter(myStr) # Traverse the string for i in myStr: if(freq[i] == 1): print(i) break # Driver code myStr = "thisisit" repeatFunc(myStr)
输出
h
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

