擅长:python、mysql、java
<p>如果你想查询尽可能多的电子邮件地址,这可能是你的最佳选择</p>
<pre><code>database = [{'emailAddress': 'user1@example.com', 'country': 'US'},
{'emailAddress': 'user2@example.com', 'country': 'CA'},
{'emailAddress': 'user3@example.com', 'country': 'UK'}]
emails = ['user1@example.com', 'user3@example.com']
emailset = set(emails)
countries = [record['country'] for record in database if record['emailAddress'] in emailset]
</code></pre>
<p>另一方面,如果只查询一小部分用户:</p>
^{pr2}$
<p>当然,最好的整体解决方案是创建一个字典,将电子邮件映射到您当前拥有的词典:</p>
<pre><code>def transform(database):
answer = {}
for record in database:
answer[record]['emailAddress'] = record
return answer
</code></pre>
<p>现在,您可以这样查询它:</p>
<pre><code>def query(database, emails):
database = transform(database)
answer = [database[email] for email in emails]
return answer
</code></pre>