如何将列表合并在一起?

时间:2014-05-12 10:34:36

标签: python list python-2.7

我想将列表与另一个具有相同长度的列表合并在一起。我的第一个列表包含电影+演员姓名的名称。另一个列表包含基于电影的评分。

示例来自列表名称+演员:

'The Godfather (1972), Marlon Brando, Al Pacino, James Caan'\n",
'The Godfather: Part II (1974), Al Pacino, Robert De Niro, Robert Duvall',\n",
'The Dark Knight (2008), Christian Bale, Heath Ledger, Aaron Eckhart',\n",
'Pulp Fiction (1994), John Travolta, Uma Thurman, Samuel L. Jackson',\n",

带有评级的列表中的示例:

'9.0',
   '8.9',
   '8.9',
   '8.9',

我想将这两个列表合并到一个包含

的大列表中

Names, actors, ratings.

结果应如下所示:

'The Godfather (1972), Marlon Brando, Al Pacino, James Caan, 9.0'\n",
'The Godfather: Part II (1974), Al Pacino, Robert De Niro, Robert Duvall, 8.9',\n",
'The Dark Knight (2008), Christian Bale, Heath Ledger, Aaron Eckhart, 8.9',\n",
'Pulp Fiction (1994), John Travolta, Uma Thurman, Samuel L. Jackson, 8.9',\n",

到目前为止尝试了这个,但它对我没有帮助。

from pprint import pprint

Name_Actor_List = []
Final_List = []



for i in lines:
    Name_Actor_List.append(i)

Final_List = Machine_List + ratings    

3 个答案:

答案 0 :(得分:1)

在同一索引中合并两个列表中的项目的最简单方法是zip

Final_List = []
for name_actor, rating in zip(lines, ratings):
    Final_List.append(",".join(name_actor, rating))

答案 1 :(得分:0)

这样的事情也应该有效:

result = []
for index in len(actor_list):
    result.add('%s,%s', actor_list[index], ratings[index])

答案 2 :(得分:0)

这一行应该通过使用map()和一个简单的lambda函数来实现:

result = map( lambda i: actor_list[i] + ratings[i], range(len(actor_list)) )