【问题标题】: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】:

    将键设置为演员。您可以创建另一个字典,它将当前字典的值作为键和键作为值。

    【讨论】:

      猜你喜欢
      • 2020-01-25
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多