基于索引从字典python中删除一个元素

Cod*_*hhz 0 python dictionary python-3.x

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

dict = {'s':0, 'e':1, 't':6}
Run Code Online (Sandbox Code Playgroud)

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

dict = {'e':1, 't':6}
Run Code Online (Sandbox Code Playgroud)

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

blh*_*ing 5

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

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

这输出:

{'e': 1, 't': 6}
Run Code Online (Sandbox Code Playgroud)

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

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

这输出:

{'s': 0, 't': 6}
Run Code Online (Sandbox Code Playgroud)