擅长:python、mysql、java
<p>使用正则表达式和<a href="https://docs.python.org/2/library/collections.html#collections.defaultdict" rel="nofollow">^{<cd1>}</a>:</p>
<pre><code>from collections import defaultdict
import re
numbers = defaultdict(int)
with open('/path/to/textfile.txt') as f:
for line in f:
line = re.sub(r'\d+', '', line.rstrip()) # Remove numbers.
numbers[line] += 1 # Increment number for the same line
print('{}{}'.format(line, numbers[line]))
</code></pre>
<hr/>
<p><strong>使用切片表示法更新</strong>,字典。你知道吗</p>
<pre><code>import re
numbers = {}
with open('1.txt') as f:
for line in f:
row = re.split(r'(\d+)', line.strip())
words = tuple(row[::2]) # Extract non-number parts to use it as key
if words not in numbers:
numbers[words] = [int(n) for n in row[1::2]] # extract number parts.
numbers[words] = [n+1 for n in numbers[words]] # Increase numbers.
row[1::2] = map(str, numbers[words]) # Assign back numbers
print(''.join(row))
</code></pre>