Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-组合两个字符串列表以创建它们组合的矩阵/表_Python_String_List_Dataframe - Fatal编程技术网

Python-组合两个字符串列表以创建它们组合的矩阵/表

Python-组合两个字符串列表以创建它们组合的矩阵/表,python,string,list,dataframe,Python,String,List,Dataframe,我的问题是: list1 = ['cake', 'pie', 'bread'] list2 = ['blue', 'red', 'yellow'] 我想制作一个矩阵/表格/数据框,它接受这两个列表并创建列表中字符串的每个排列 newTable = cake pie bread #ColumnHeader #Index blue cake blue pie blue bread blue red

我的问题是:

list1 = ['cake', 'pie', 'bread']
list2 = ['blue', 'red', 'yellow']
我想制作一个矩阵/表格/数据框,它接受这两个列表并创建列表中字符串的每个排列

newTable = 
                 cake       pie        bread     #ColumnHeader
#Index
blue           cake blue    pie blue    bread blue
red            cake red     pie red     bread red
yellow         cake yellow  pie yellow  bread yellow
列表1(也是列标题)对应于此字符串对中的第一个单词,而列表2(索引)是第二个单词

我想用python来做这件事,但如果matlab更容易,那就好了。谢谢

编辑-不是每一个排列,而是每一个排列,列标题是第一个单词,索引是第二个单词。

您可以使用它

如果您想构建一个可以索引的二维列表,例如
[0][1]

>>> [[(i,j) for i in list1] for j in list2]
[[('cake', 'blue'), ('pie', 'blue'), ('bread', 'blue')],
 [('cake', 'red'), ('pie', 'red'), ('bread', 'red')],
 [('cake', 'yellow'), ('pie', 'yellow'), ('bread', 'yellow')]]

谢谢你。我知道如何组合两个这样的列表,但是kicker(至少对我来说)正在制作一个表,其中索引是列表2,行标题是列表1。谢谢!这就行了!
>>> [[(i,j) for i in list1] for j in list2]
[[('cake', 'blue'), ('pie', 'blue'), ('bread', 'blue')],
 [('cake', 'red'), ('pie', 'red'), ('bread', 'red')],
 [('cake', 'yellow'), ('pie', 'yellow'), ('bread', 'yellow')]]