使用列表推导和 OrderedDict 实现 Python 中的第 K 个非重复字符
pythonserver side programmingprogramming更新于 2025/10/26 11:56:17
在本文中,我们将学习使用列表推导和 OrderedDict 实现 Python 中的第 K 个非重复字符。为此,我们借助 Python 中内置的构造。
算法
1. 首先,我们从输入中形成一个字典数据。 2. 现在我们计算每个字符的频率。 3. 现在我们提取所有键值等于 1 的列表。 4. 最后,我们返回 k-1 个字符。
示例
from collections import OrderedDict import itertools def kthRepeating(inp,k): # 返回一个字典数据 dict=OrderedDict.fromkeys(inp,0) # 每个字符的频率 for ch in inp: dict[ch]+=1 # 现在提取值为 1 的所有键的列表 nonRepeatDict = [key for (key,value) in dict.items() if value==1] # 返回第 (k-1) 个字符 if len(nonRepeatDict) < k: return 'no ouput.' else: return nonRepeatDict[k-1] # 驱动函数 if __name__ == "__main__": inp = "tutorialspoint" k = 3 print (kthRepeating(inp, k))
输出
a
结论
在本文中,我们使用列表推导和 OrderedDict 在 Python 中找到了第 K 个非重复字符。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

