Python 逐个组合多个列表

Python 逐个组合多个列表,python,Python,我有3个列表,我想将我的三个列表组合成另一个列表,其中包含元组或列表,这三个列表混合在一起,如下所示: years = [2012,2013,2011,2014,2015] sessions = ["AC", "AB"] periods = ["I", "II", "III"] 我想知道是否有一个函数,或者下一步最具python功能的方法是什么: result = function(years,sessions,periods) print result ## [(2012, "AC",

我有3个列表,我想将我的三个列表组合成另一个列表,其中包含元组或列表,这三个列表混合在一起,如下所示:

years = [2012,2013,2011,2014,2015]
sessions = ["AC", "AB"]
periods = ["I", "II", "III"]
我想知道是否有一个函数,或者下一步最具python功能的方法是什么:

result = function(years,sessions,periods)
print result 

##  [(2012, "AC", "I"), (2012, "AC", "II"), (2012, "AC", "III"), (2012, "AB", "I")] and so on
你可以用


请注意,
product()
返回一个iterable;我刚刚将其转换为上面的列表以供演示,但除非您确实需要一个列表,否则不应该这样做。

@VictorCastilloTorres没问题,很高兴我能提供帮助。如果有时间,您可能应该浏览一下
itertools
,因为那里有一些非常有用的函数。
>>> years = [2012,2013,2011,2014,2015]
>>> sessions = ["AC", "AB"]
>>> periods = ["I", "II", "III"]
>>> 
>>> from itertools import product
>>> 
>>> list(product(years, sessions, periods))
[(2012, 'AC', 'I'), (2012, 'AC', 'II'), (2012, 'AC', 'III'), (2012, 'AB', 'I'), (2012, 'AB', 'II'), (2012, 'AB', 'III'), (2013, 'AC', 'I'), (2013, 'AC', 'II'), (2013, 'AC', 'III'), (2013, 'AB', 'I'), (2013, 'AB', 'II'), (2013, 'AB', 'III'), (2011, 'AC', 'I'), (2011, 'AC', 'II'), (2011, 'AC', 'III'), (2011, 'AB', 'I'), (2011, 'AB', 'II'), (2011, 'AB', 'III'), (2014, 'AC', 'I'), (2014, 'AC', 'II'), (2014, 'AC', 'III'), (2014, 'AB', 'I'), (2014, 'AB', 'II'), (2014, 'AB', 'III'), (2015, 'AC', 'I'), (2015, 'AC', 'II'), (2015, 'AC', 'III'), (2015, 'AB', 'I'), (2015, 'AB', 'II'), (2015, 'AB', 'III')]