<p>如何将几个生成器表达式作为Python的<code>join</code>方法的输入?我试了以下不起作用的方法。使用Python2.x和3.x有区别吗?我的确切版本是python2.7.12。你知道吗</p>
<pre><code>def productList(self, obj):
return ", ".join([w.name for w in obj.someProducts.all()],[w.code
for w in obj.someProducts.all()])
</code></pre>
<p>没有<code>[]</code></p>
<pre><code> def productList(self, obj):
return ", ".join(w.name for w in obj.someProducts.all(),w.code
for w in obj.someProducts.all())
</code></pre>
<p>输入:</p>
<pre><code>Product table
Name: Char;
Code: Char;
</code></pre>
<p>输出:</p>
<pre><code>name1code1, name2code2
</code></pre>
<p>试一试:</p>
<pre><code>', '.join('{}{}'.format(w.name, w.code) for w in obj.someProducts.all())
</code></pre>
<p>我只是把w.name和w.code做成一个字符串,这样你就不需要两个列表了。如您所愿更改格式。你知道吗</p>