<p>我要提个建议:</p>
<p>把phoneNumberDict变成一本词典。每个键将是一个电话号码,每个值将是一个<code>dict</code>与其余的信息。这样,您就不必每次都循环查看字典列表。你知道吗</p>
<p>观察:</p>
<pre><code>phoneNumberDictionary = {
'123456789': {u'PhoneOwner': u'Bob', u'Frequency': 0},
'987654321': {u'PhoneOwner': u'Sarah', u'Frequency': 0}
}
callLogList = ['123456789',
'123456789',
'123456789',
'123456789',
'123456789',
'987654321',
'987654321',
'987654321',
'987654321',
'987654321',
'987654321',
'987654321',
'987654321',
'000000000'
]
for phoneNumber in callLogList:
if phoneNumber in phoneNumberDictionary:
phoneNumberDictionary[phoneNumber]['Frequency'] += 1
print (phoneNumberDictionary)
</code></pre>
<p>无需每次循环查看电话号码列表,这将是一个更高效的脚本,尤其是随着电话号码列表的增长。你知道吗</p>
<p>我还将for循环的<code>try-except</code>改为if语句,因为这比每次不包含数字时捕获异常要快。我已经包括一个无用的电话号码,所以你可以看到它仍然正常工作。你知道吗</p>
<p>希望这有帮助。你知道吗</p>