从python字典中“切”出一个元素

2024-05-27 12:47:57 发布

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

我有一本字典:

D = { "foo" : "bar", "baz" : "bip" }

我想创建一个新字典,它有一个元素k的副本。所以如果k = "baz"

^{pr2}$

我现在得到的是:

R = { k : D[k] }

但在我的例子中,k是一个复杂的表达式,我有一大堆这样的表达式。临时缓存中的k看起来和原始选项一样难看。在

我要找的是一种更好(更干净)的方法。


Tags: 方法元素字典foo表达式选项副本bar
3条回答

不管怎样,你需要一系列的东西来“切”出来。在

S = set(["baz"])

如果你在上面设置了S,你可以通过字典理解D得到R:

^{pr2}$
def take(dictionary, key):
    return {key: dictionary[key]}

R = take(D, k)

你没有比你现有的更“干净”的了。假设你对干净的定义是更少的字符。在

添加一个函数调用来完成这样一个简单的任务似乎会使代码更加混乱,而不是使其更干净。在

如果clean的定义更具可读性,那么给字典提供描述性的名称(以及命名约定中的PEP-8)就可以了。在

相关问题 更多 >