擅长:python、mysql、java
<p>如果您的城市列表将是元组和字符串的组合,如:</p>
<pre><code>cities = [("Hamburg", "Germany"), ("London", "England"), ("Paris", "France"), "Toronto", "Montreal", "New York"]
</code></pre>
<p>可以使用lambda函数将其解包:</p>
<pre><code>city = lambda c: c if type(c) == str else c[0]
</code></pre>
<p>在发电机中使用:</p>
<pre><code>print( 'New York' in (city(c) for c in cities) )
print( 'Paris' in (city(c) for c in cities) )
</code></pre>
<p>如果你要在很多城市使用这个函数,那么创建一个函数是值得的</p>
<pre><code>contains_city = lambda ct: ct in (city(c) for c in cities)
print (contains_city("Moscow"))
print (contains_city("Toronto"))
</code></pre>