Python将单个字典项移动到新字典中

2024-10-01 17:41:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典,不知道键或值。我想删除一个元素(不管是哪个元素),然后创建一个只包含该键和值的新字典,并在这个过程中将它从旧字典中删除。你知道吗

dict(n项)—>;newdict(1项)和dict(n-1项)

我试过的:

  1. newdict=dict.pop()-对于一个列表来说是完美的,但是对于字典来说是1。需要一个键,只返回一个值,而不返回新字典或键、值对

  2. newdict={dict.items()[0]}-TypeError:'dict\u items'对象不可订阅

  3. newdict={dict.keys()[0],dict.pop(dict.keys()[0])}-TypeError:'dict\u keys'对象不可下标

  4. key=list(dict)[0] newdict={key,dict.pop(key)}-是有效的(最后),但是它们不是比仅仅为了抓住一个键而将整个字典转换成一个列表更好的方法吗?

有没有更有效的方法将单个字典元素移动到新字典中?你知道吗

编辑:将单个元素作为元组也可以。我只需要删除的元素的键和值。你知道吗


Tags: 对象方法keygt元素列表字典items
3条回答

我认为这是dict.popitem的一个很好的用例:

old_dict = {1: 2, 3: 4, 5: 6}
new_dict = {7: 8}

def move_item(old, new):
    k, v = old.popitem()
    new[k] = v

move_item(old_dict, new_dict)
print(old_dict, new_dict)

有结果的

{1: 2, 3: 4} {7: 8, 5: 6}

你可以迭代

for key, value in dict.items():
    if value == bla:
        dict.pop(key)

尝试:

for key, value in old_dict:
    new_dict[key] = old_dict.pop(key)
    # operate with new_dict

相关问题 更多 >

    热门问题