擅长:python、mysql、java
<p>不,如果不使用多个语句,这通常是不可能的。你知道吗</p>
<p>在这种特殊的情况下,你可以用一种很难理解的方式来解决它。例如:</p>
<pre><code>myDict = dict(zip(("key1", "key2"), itertools.count(1))
</code></pre>
<p>然而,只有当您想要指定一个单一的开始值时,这才有效,其他的一切都是连续的,并且可能这对于您想要的还不够一般。你知道吗</p>
<p>如果你经常做这类事情,你可以把这些多个语句包装成一个适当的通用函数,这样每个特定的实例就是一个表达式。例如:</p>
<pre><code>def make_funky_dict(*args):
myDict = {}
for key, value in zip(*[iter(a)]*2):
if value in myDict:
value = myDict[value] + 1
myDict[key] = value
return myDict
myDict = make_funky_dict("key1", 1, "key2", "key1")
</code></pre>
<p>但实际上,这里没有充分的理由不使用多个语句,而且可能会更清楚,所以…我就这样做。你知道吗</p>