2024-04-26 20:50:59 发布
网友
目前,我正在使用:
d = {'a': 'xyz'} k, v = list(*d.items())
这里需要星号表达式,因为省略它会导致list函数/构造函数返回一个包含键和值的单元组列表。你知道吗
不过,我想知道有没有更好的方法。你知道吗
如果你不介意把字典改一下,这个就可以了:
k, v = d.popitem()
保持嵌套:
>>> d = {'a': 'xyz'} >>> ((k,v),) = d.items() >>> k 'a' >>> v 'xyz'
或等效地:
>>> (k,v), = d.items() >>> k 'a' >>> v 'xyz' >>>
不知道我喜欢哪一个,最后一个可能有点难以阅读,如果我是瞥了一眼。你知道吗
注意,这里的优点是它是非破坏性的,如果dict有多个键值对,它就会失败。你知道吗
由于dict项不支持索引访问,因此可以对第一个(也是唯一一个)项进行以下非变异检索:
k, v = next(iter(d.items()))
这样做的好处是,它不仅适用于任何大小的dict,而且还保留了O(1)操作,而其他解包项或将其转换为列表的解决方案不会这样做。你知道吗
O(1)
如果你不介意把字典改一下,这个就可以了:
保持嵌套:
或等效地:
不知道我喜欢哪一个,最后一个可能有点难以阅读,如果我是瞥了一眼。你知道吗
注意,这里的优点是它是非破坏性的,如果dict有多个键值对,它就会失败。你知道吗
由于dict项不支持索引访问,因此可以对第一个(也是唯一一个)项进行以下非变异检索:
这样做的好处是,它不仅适用于任何大小的dict,而且还保留了
O(1)
操作,而其他解包项或将其转换为列表的解决方案不会这样做。你知道吗相关问题 更多 >
编程相关推荐