当前位置: 首页 > 面试题库 >

有没有办法在python字典中保留重复的键

华浩壤
2023-03-14
问题内容

有什么办法可以在字典中存储重复的键?

我对形成请求和响应对有具体要求。

从特定节点到另一个特定节点的请求形成相同的密钥。我需要将它们都存储。

但是,如果我尝试将它们添加到字典中,则第一个被替换为第二个。有什么办法吗?


问题答案:

我可以想到两个简单的选项,假设您想继续使用字典。

  1. 您可以将键映射到项目列表。一个defaultdictcollections模块让一切变得简单。

    >>> import collections
    

    data = collections.defaultdict(list)
    for k, v in ((‘a’, ‘b’), (‘a’, ‘c’), (‘b’, ‘c’)):
    … data[k].append(v)

    data
    defaultdict( , {‘a’: [‘b’, ‘c’], ‘b’: [‘c’]})


  2. 您可以使用其他数据来消除按键歧义。这可以是时间戳记,唯一的ID号或其他名称。这样做的优点是保留了键和值之间的一对一关系,而缺点是使查找更加复杂,因为您总是必须指定一个id。下面的示例显示了它如何工作。是否对您有好处取决于问题域:

    >>> for k, v in (('a', 'b'), ('a', 'c'), ('b', 'c')):
    

    … i = 0
    … while (k, i) in data:
    … i += 1
    … data[(k, i)] = v

    data



 类似资料:
  • 问题内容: 对于学校,我正在为游戏的排名列表编写一个小程序。为此,我使用字典,将玩家的名称作为键名,将分数作为键值。将有10场比赛,每场比赛都有一个自动排名系统,我将其打印到文件中。香港专业教育学院已经设法编码排名系统,但现在我面临更大的挑战,我无法解决: 我必须进行总体排名,这意味着someplayername可以在具有多个得分的多个比赛中使用,但我只需要保留重复项中的最高得分即可。 简而言之

  • 问题内容: 对于不同的屏幕尺寸,我需要div内的元素位于其div之外。 我目前有重复的html,并将其隐藏在某些视口中,这显然不是理想的选择,但是我不确定是否还有另一种方法。 这是html台式机和平板电脑 这是手机所需的html 这样我就可以对容器div中的所有项目使用flexbox命令 问题答案: 这是的完美用例 导致元素的子元素看起来像是元素父元素的直接子元素,而忽略了元素本身。当使用CSS网

  • 我正试图在表格上做错误检查。我想看看一个电话号码是否有效,看它是否包含所有号码。有没有办法确定一个字符串中是否只有NMBER?

  • 问题内容: 我想在Python中使用PhantomJS。我用谷歌搜索了这个问题,但是找不到合适的解决方案。 我发现 可能是一个不错的选择。但是我无法通过一些争论。 使用可能是目前合适的解决方案。我想知道是否有更好的解决方案。 有没有办法在Python中使用PhantomJS? 问题答案: 在python中使用PhantomJS的最简单方法是通过Selenium。最简单的安装方法是 安装NodeJS

  • 我想在Python中使用PhantomJS。我谷歌了这个问题,但找不到合适的解决方案。 我发现可能是一个不错的选择。但我无法向它传递一些论据。 使用目前可能是一个合适的解决方案。我想知道是否有更好的解决办法。 有没有办法在Python中使用PhantomJS?

  • 记事本有一个语言菜单,我们可以使用它来设置当前文件的语言而无需保存它,它提供了语法突出显示。这对于快速检查内容很有用,例如,粘贴XML文件并快速分析它,键入一些JS代码并将其复制到控制台中。 有没有办法在vscode中实现这一点?