【发布时间】:2018-08-27 05:00:47
【问题描述】:
我设法在网上找到了这段代码,它向我展示了如何在字符串中查找和打印重复的字符。我很困惑它是如何工作的。我不明白 h[i] = 0 部分在技术上是做什么的。谁能解释一下?
a = 'abcdeab'
h = {}
for i in a:
if i in h:
print(i)
else:
h[i] = 0
我知道它是如何遍历字符串的,但我不明白它是如何被添加到字典中以便检查它是否已经存在于该字典中的。设置 h[i] = 0 是什么让我失望。我不明白为什么它被设置为 0。
我在问题得到解答后添加: 我最终创建了一个不同的解决方案,并认为我会发布它以防其他人正在研究同样的问题。如下(使用列表而不是字典):
a = 'abcdeab'
h = []
for i in a:
if i in h:
print(i)
else:
h.append(i)
另外,如果您只查找第一次出现的重复字符,您可以在print(i) 之后添加break。在这种情况下,它只会打印a,而不是同时打印a 和b。
【问题讨论】:
标签: string python-3.x loops iteration recurring