压缩两个列表列表

时间:2015-08-03 06:51:35

标签: python

需要帮助我在压缩两个列表列表(矩阵)时迷路了。

格式完全相同的矩阵,我希望它们在同一位置的每个元素的元组对中压缩。

例如,

m1 = [['A', 'B', 'C'],
      ['D', 'E'],
      ['F', 'G']]

m2 = [['s1', 's2', 's3'],
      ['s4', 's5'],
      ['s1', 's3']]

我期望得到的是格式相同:

z = [[('A', 's1'), ('B', 's2'), ('C', 's3')],
     [('D', 's4'), ('E', 's5')],
     [('F', 's1'), ('G', 's3')]]

我可以编写一个函数来执行此操作,但我正在寻找一种在Python中执行此操作的优雅方法。

1 个答案:

答案 0 :(得分:6)

再次

if ($this->Business->save($this->request->data)) { (isset($this->request->data["Business"]["referer"]) && !empty($this->request->data["Business"]["referer"]) ? $this->redirect($this->request->data["Business"]["referer"]) : $this->redirect(array("action" => "index")); } zip()

zip()

zip() function将输入序列的每个元素配对; [zip(*paired) for paired in zip(m1, m2)] m1[0]m2[0] m1[1]等,然后对于每个对,然后再次将元素配对(m2[1]与{{1} {},m1[0][0]m2[0][0]等。)

如果这是Python 3,则必须在m1[0][1]调用中包含其中一个:

m2[0][1]

演示:

list()