如何通过在python字典中使用fromkey()选择特定键来创建新字典?

How to create new dictionary by selecting particular keys using fromkey() in python Dictionary?

提问人:SHENBGA BHARATHA PRIYA 提问时间:11/8/2019 最后编辑:SHENBGA BHARATHA PRIYA 更新时间:11/8/2019 访问量:89

问:

我创建了名为 Colors 的字典。

Colors = {'col1': 'Red', 'col2': 'Orange', 'col3': 'Yellow', 'col4': 'Yellow'} 

Q) 从颜色 Dictionary 创建一个新的 Dictionary 对象,其键为 col1 和 col2(说明 - 使用方法)?可以使用吗?colors_newfromkeys()fromkeys()

我的编码是:

颜色 = {'col1': '红色', 'col2': '橙色', 'col3': '黄色', 'col4': '黄色'}

print(Colors)

Col={ }

Colors_new={ }

print(Colors_new)

Colors_new = dict.fromkeys(Colors.keys())

print(Colors_new)

输出

{'col1': 'Red', 'col2': 'Orange', 'col3': 'Yellow', 'col4': 'Yellow'}
{}
{'col1': None, 'col2': None, 'col3': None, 'col4': None}
python 字典-从键上理解

评论

1赞 Nikaido 11/8/2019
欢迎来到 SO。这似乎是一个程序任务。到目前为止,你做了什么?向我们展示您的尝试,然后我们可以从它们开始
0赞 Vaghinak 11/8/2019
我假设你想要类似的东西 colors_new = dict.fromkeys(colors.keys())
0赞 SHENBGA BHARATHA PRIYA 11/8/2019
我的Colors_new中只需要 col1 和 col2

答:

1赞 Tim Körner 11/8/2019 #1

是的,这确实是可能的。

colors_new = dict.fromkeys(Colors.keys()[:2])

评论

0赞 SHENBGA BHARATHA PRIYA 11/8/2019
不。我只需要 col1 和 col2。
0赞 SHENBGA BHARATHA PRIYA 11/9/2019
使用字典切片时,我收到如下错误.....TypeError:“dict_keys”对象不可下标
0赞 Nikaido 11/8/2019 #2

这也许是你想要的吗?

Colors = {'col1': 'Red', 'col2': 'Orange', 'col3': 'Yellow', 'col4': 'Yellow'}
print(Colors)
Col={ }
Colors_new={ }
print(Colors_new)
# if you want the new dictionary with only the keys
Colors_new = dict.fromkeys([k for k in Colors.keys() if k in ["col1", "col2"]])
print(Colors_new)
# if you want the new dictionary with keys and values
Colors_new = {k:v for k,v in Colors.items() if k in ["col1", "col2"]}
print(Colors_new)

评论

0赞 SHENBGA BHARATHA PRIYA 11/9/2019
干得好。谭克。我需要澄清的另一件事是......是否可以在使用 fromkeys() 时创建没有“none”的新字典。