相关疑难解决方法(0)

从Python字典对象中提取键值对的子集?

我有一个大的字典对象,有几个键值对(大约16),但我只对它们中的3个感兴趣.实现这一目标的最佳方式(最短/最有效/最优雅)是什么?

我所知道的最好的是:

bigdict = {'a':1,'b':2,....,'z':26} 
subdict = {'l':bigdict['l'], 'm':bigdict['m'], 'n':bigdict['n']}
Run Code Online (Sandbox Code Playgroud)

我相信有比这更优雅的方式.想法?

python dictionary associative-array

278
推荐指数
8
解决办法
18万
查看次数

如何使用列表中的键和Python中的空值初始化dict?

我想从中得到:

keys = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

对此:

{1: None, 2: None, 3: None}
Run Code Online (Sandbox Code Playgroud)

这是一种pythonic方式吗?

这是一种丑陋的方式:

>>> keys = [1,2,3]
>>> dict([(1,2)])
{1: 2}
>>> dict(zip(keys, [None]*len(keys)))
{1: None, 2: None, 3: None}
Run Code Online (Sandbox Code Playgroud)

python dictionary

222
推荐指数
6
解决办法
25万
查看次数

如何从另一个字典创建字典?

在Python dict中用另一些属性创建一个属性的最佳方法是什么dict

例如,假设我有以下内容dict:

dict1 = {
    name:          'Jaime',
    last_name:     'Rivera',
    phone_number:  '111111',
    email:         'test@gmail.com',
    password :     'xxxxxxx',
    token:         'xxxxxxx',
    secret_stuff:  'yyyyyyy'   
}
Run Code Online (Sandbox Code Playgroud)

我想获得

dict2 = {
    name:          'Jaime',
    last_name:     'Rivera',
    phone_number:  '111111',
    email:         'test@gmail.com'
}
Run Code Online (Sandbox Code Playgroud)

python dictionary

16
推荐指数
5
解决办法
3万
查看次数

Python创建自己的字典子集的dict视图

由于这里关于这个主题的许多问题证明了这一点,所以拿一本字典是一个非常常见的任务,有一个相当不错的解决方案:

{k:v for k,v in dict.viewitems() if some_test(k,v)}
Run Code Online (Sandbox Code Playgroud)

但是这会创建一个新的字典,并带有自己的映射.对于许多操作,只有原始字典的不可变视图(即它不支持视图上的赋值或删除操作)会很好.实现这样的类型可能很容易,但是增加本地实用程序类并不好.

所以,我的问题是:是否有内置的方式来获得这样的"子集视图"?或者是否有第三方库(最好通过PyPi提供)提供这种实用程序的良好实现?

python dictionary facade

5
推荐指数
2
解决办法
1953
查看次数

标签 统计

dictionary ×4

python ×4

associative-array ×1

facade ×1