我尝试使用多个列表中的值格式化字符串。以下是伪代码,但应该给出预期输出的概念。结果是每个列表中每一项的组合:每个人都喜欢在做所有爱好的同时吃所有的水果。那么如何在python中实现这一点呢?在
应该有len(names)*len(fruits)*len(hobbies)
个可能性(在我的例子中是64个)
names = ['tom','marry','jessica','john']
fruits = ['oranges','apples','grapes','bananas']
hobbies = ['dancing','sitting','bicycling','watching tv']
print '%(name)s likes to eat %(fruit)s while %(hobby)s \n'
% {'name':names, 'fruit':fruits, 'hobby':hobbies}
只需使用for循环:
但是,如果你问我,我总觉得用^{} 会让一切看起来更好:
^{pr2}$如果我理解你的“输出将是每个列表中每一项的组合:每个人在做每一项爱好时都喜欢所有的水果”这句话,你就想要所有可能的组合。可以使用嵌套循环的方式执行此操作:
产生
^{pr2}$或者您可以使用itertools模块,该模块有一个函数
product
,该函数提供了输入列表的所有可能组合:itertools模块提供
product
函数,该函数生成所有可能的元组:也可以直接使用元组:
^{pr2}$相关问题 更多 >
编程相关推荐