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