这是一个奇怪的问题,我猜它其实很简单。我正在为我家的远程播放器构建歌词 Web 应用程序。它目前生成了一个带有正在播放歌曲的播放器字典,例如:
{
'bathroom': <Song: Blur - Song 2>,
'bedroom1': <Song: Blur - Song 2>,
'kitchen': <Song: Meat Loaf - I'd Do Anything for Love (But I Won't Do That)>,
}
有时候这些玩家中的子集是同步的。因此,像上面那样,它们显示相同的值。我想在界面中将它们分组。在构建字典时我可以更聪明一些,但假设我不会那么做,是否有一种很好的方法来通过值合并键?
从上面的内容中得到的期望输出类似于:
{
'bathroom,bedroom1': <Song: Blur - Song 2>,
'kitchen': <Song: Meat Loaf - I'd Do Anything for Love (But I Won't Do That)>,
}
然而,这破坏了我想要查找的方式(我想按名称指定,因此这是一个字典)...是否有更好的集合可以为每个值拥有多个键,并指示何时合并重复项(并向后引用它们的所有键)?
有一个很好的答案,将其转换为歌曲的键和玩家列表作为值。这很好,但有时我想知道在命名的播放器上播放哪首歌。这就是为什么我最初选择了字典。
有没有好的方法可以保留双向查找(除了保留两个集合)?