回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我从一个txt文件中取出了40个单词的列表。我找到了重复的词,并用相同的词替换了它们,但前后都用“*”代替。代码如下:</p>
<pre><code>def show(self, list1):
a = [x for x in list1 if list1.count(x) > 1]
lista2 = ["*"+s+"*" if s in a else s for s in list1]
print(lista2)
</code></pre>
<p>输入:</p>
^{pr2}$
<p>输出:</p>
<pre><code>> ['utanför', 'dörren', 'stod', 'en', 'man', '*och*', 'lyssnade', 'intensivt', '*i*', 'den', 'mörka', 'korridoren', '*han*', 'hade', 'skuggat', 'digby', 'groat', 'hela', 'eftermiddagen', '*och*', 'följt', 'efter', 'honom', '*in*', '*i*', 'huset', 'när', '*han*', 'fick', 'hära', 'ljudet', 'av', 'fotsteg', 'från', 'rummet', 'smög', '*han*', 'sig', '*in*', '*i*']
</code></pre>
<p>请注意,副本的前面和后面都有一个<code>*</code>。在</p>
<p>我希望第一个副本被忽略,其余的在前面和后面用*突出显示。在</p>
<p>编辑:</p>
<blockquote>
<pre><code>def show(self, list1):
new_list, seen = [], set()
for x in list1:
if x in seen:
new_list.append('*{0}*'.format(x))
else:
new_list.append(x)
seen.add(x)
print new_list
</code></pre>
</blockquote>
<p>看起来很有魅力。
现在我唯一想补充的是使它区分大小写。好像“汉”和“汉”发生了,它注意到它是一个复制品。在</p>