【问题标题】:Dictionry write to file by values [closed]字典按值写入文件[关闭]
【发布时间】:2019-06-02 11:54:02
【问题描述】:
我需要通过键值将 Dictionray 写入文件。这意味着如果我有例如电影字典(=键),以及播放该电影的演员,我需要将演员写入文件,然后写入他播放的所有电影。
键是电影,值是演员集。
我设法写了电影和价值观,但正如我所解释的那样,这不是我想要的。
文件应该是这样的:
演员姓名、Movie1、Movie2 等...
【问题讨论】:
标签:
python
python-3.x
list
file
dictionary
【解决方案1】:
最直接的做法是反转字典。
actor2movies = {}
for movie, actors in movie2actors.items():
for actor in actors:
if actor not in actor2movies:
actor2movies[actor] = []
actor2movies[actor].append(movie)
(如果您将actor2movies 初始化为collections.defaultdict(list),则可以省略if 语句。)
然后写出结果字典,一次一个键及其值。
with open("foo.txt", "w") as f:
for actor, movies in actor2movies.items():
print("{},{}".format(actor, ",".join(movies))
【解决方案2】:
将键设置为演员。您可以创建另一个字典,它将当前字典的值作为键和键作为值。