我正在尝试编写一个函数,它将返回传递的字符串中存在的唯一字符串。这是我的代码:
def repeating_letters(given_string):
counts = {}
for char in given_string:
if char in counts:
return char
else:
counts[char] = 1
if counts[char] > 1:
del(char)
else:
return char
我没有得到预期的结果。我怎样才能得到理想的结果。
这时我将此字符串作为输入传递:
sample_input = "abcadb"
我期待结果是:
"abcd"
但是我的代码只是回复了我:
nothing
答案 0 :(得分:2)
def repeating_letters(given_string):
seen = set()
ret = []
for c in given_string:
if c not in seen:
ret.append(c)
seen.add(c)
return ''.join(ret)
我们会在第一次看到它时将每个字母添加到集合seen
,同时将其添加到列表ret
中。然后我们返回join
ed列表。
答案 1 :(得分:2)