擅长:python、mysql、java
<p>这是你想要的吗?在</p>
<pre><code>$ cat single-seen-double
#!/usr/bin/python3
def single_seen_double(string):
length = len(string)
index = 0
seen = set()
while index < length:
if string[index] in seen and index < length - 1:
yield string[index:index+2]
index += 2
else:
seen.add(string[index])
yield string[index]
index += 1
def main():
print(list(single_seen_double("abbbbdeeefffddddb")))
main()
zareason-dstromberg:~/src/outside-questions/single-seen-double x86_64-pc-linux-gnu 5871 - above cmd done 2013 Tue Nov 05 01:48 PM
$ ./single-seen-double
['a', 'b', 'bb', 'bd', 'e', 'ee', 'f', 'ff', 'd', 'dd', 'db']
</code></pre>
<p>它并没有给出您的示例输出,但我想知道这是否不是您真正想要的。如果这不是你需要的,你能更具体地说明你需要遵守什么规则吗?在</p>