擅长:python、mysql、java
<p>具有自定义<code>ABDict</code>类和<em>Python</em>生成器功能的完整解决方案:</p>
<pre><code>class ABDict(dict):
''' Class representing a dictionary of abbreviations'''
def __getitem__(self, key):
v = dict.__getitem__(self, key.upper())
return v.lower() if key.islower() else v
with open('abbreviations.txt') as ab:
ab_dict = ABDict()
while True:
try:
k = next(ab).strip() # `key` line
v = next(ab).strip() # `value` line
ab_dict[k] = v
except StopIteration:
break
</code></pre>
<p>现在,测试(使用<em>case relative</em>访问):</p>
<pre><code>print(ab_dict['ACE'])
print(ab_dict['ace'])
print('*' * 10)
print(ab_dict['WYTB'])
print(ab_dict['wytb'])
</code></pre>
<p>输出(连续):</p>
<pre><code>Access Control Entry
access control entry
**********
Wish You The Best
wish you the best
</code></pre>