根据索引从字典python中删除一个元素

新手上路,请多包涵

如何根据索引从字典中删除元素?例如,如果我有

dict = {'s':0, 'e':1, 't':6}

我想删除并返回 ’s’ 和 0,这样字典就有

dict = {'e':1, 't':6}

我试过 dictionary.popitem() 删除了 't':6, dictionary.pop(key) 从字典中删除了一个键,但我无法删除,我只想找到键索引。

原文由 Coderhhz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 417
2 个回答

假设您在 Python 3.7 或更高版本中执行此操作,其中字典键是有序的,您可以从字典键创建迭代器并使用 next 函数获取第一个键,以便您可以使用 del 删除该密钥的语句:

 d = {'s':0, 'e':1, 't':6}
del d[next(iter(d))]
print(d)

这输出:

 {'e': 1, 't': 6}

如果要删除不同索引的键,可以使用 itertools.islice 获取给定索引处的键。例如,要从 d 中删除第二个键(索引 1):

 from itertools import islice
d = {'s':0, 'e':1, 't':6}
del d[next(islice(d, 1, None))]
print(d)

这输出:

 {'s': 0, 't': 6}

原文由 blhsing 发布,翻译遵循 CC BY-SA 4.0 许可协议

快速 1 行代码:

 myDict = {"a":1, "b":2, "c":3}
indexToBeRemoved = 1
myDict.pop(list(myDict.keys())[indexToBeRemoved])

原文由 SATYAM SAREEN 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题