Python 向字典中的集合添加值

Python 向字典中的集合添加值,python,python-2.7,Python,Python 2.7,我有一个文件,每一行都是按以下格式写的:演员姓名,电影1,电影2,电影3。。。 例如: 西尔维斯特·史泰龙,洛奇,兰博,刺客 朱莉安·摩尔,刺客,汉尼拔 问题是,当我试图添加到电影中时,另一个演员的名字(例如:在第一行中,关键-刺客-具有西尔维斯特·史泰龙的值,在第二行中,值-刺客-被替换而不是添加) 假设您希望返回一个字典,将电影标题映射到每个角色中的演员列表(函数名称中不清楚),那么这段代码应该可以为您完成。(注意,我将名为set的变量改为fields,因为在类型之后命名变量不是一个好主

我有一个文件,每一行都是按以下格式写的:演员姓名,电影1,电影2,电影3。。。 例如:

  • 西尔维斯特·史泰龙,洛奇,兰博,刺客

  • 朱莉安·摩尔,刺客,汉尼拔

    问题是,当我试图添加到电影中时,另一个演员的名字(例如:在第一行中,关键-刺客-具有西尔维斯特·史泰龙的值,在第二行中,值-刺客-被替换而不是添加)


假设您希望返回一个字典,将电影标题映射到每个角色中的演员列表(函数名称中不清楚),那么这段代码应该可以为您完成。(注意,我将名为
set
的变量改为
fields
,因为在类型之后命名变量不是一个好主意。)


假设您希望返回一个字典,将电影标题映射到每个角色中的演员列表(函数名称中不清楚),那么这段代码应该可以为您完成。(注意,我将名为
set
的变量改为
fields
,因为在类型之后命名变量不是一个好主意。)


您认为
set=line.split(',')
对先前定义的
set={}
做了什么?Plus集合没有索引,也不支持切片,以防您计划以这种方式使用它们。
set={}
不创建集合。它创建一个名为set的字典。无论如何,使用这个名称不是一个好主意。您认为
set=line.split(',')
对先前定义的
set={}
做了什么?Plus集合没有索引,也不支持切片,以防您计划以这种方式使用它们。
set={}
不创建集合。它创建一个名为set的字典。无论如何,用这个名字不是个好主意。
def CreateDataBaseByActor(file):
   dataBase = dict()
   set = {}
   f = open(file,"r")
   for line in f:
       set = line.split(', ')
       for movie in set[1:]:
           dataBase[movie] = set[0]
   return dataBase
def CreateDataBaseByActor(file):
   dataBase = dict()
   f = open(file, "r")
   for line in f:
       fields = line.split(', ')
       actor = fields[0]
       for movie in fields[1:]:
           dataBase.setdefault(movie, []).append(actor)
   return dataBase