擅长:python、mysql、java
<p>如果我理解你的“输出将是每个列表中每一项的组合:每个人在做每一项爱好时都喜欢所有的水果”这句话,你就想要所有可能的组合。可以使用嵌套循环的方式执行此操作:</p>
<pre><code>names = ['tom','mary','jessica','john']
fruits = ['oranges','apples','grapes','bananas']
hobbies = ['dancing','sitting','bicycling','watching tv']
for name in names:
for fruit in fruits:
for hobby in hobbies:
print '%(name)s likes to eat %(fruit)s while %(hobby)s' % {'name':name, 'fruit':fruit, 'hobby':hobby}
</code></pre>
<p>产生</p>
^{pr2}$
<p>或者您可以使用itertools模块,该模块有一个函数<code>product</code>,该函数提供了输入列表的所有可能组合:</p>
<pre><code>import itertools
for name, fruit, hobby in itertools.product(names, fruits, hobbies):
print '%(name)s likes to eat %(fruit)s while %(hobby)s' % {'name':name, 'fruit':fruit, 'hobby':hobby}
</code></pre>