为了账号安全,请及时绑定邮箱和手机立即绑定

在字典中搜索列表的值并将其添加到新字典中

在字典中搜索列表的值并将其添加到新字典中

偶然的你 2023-03-16 15:59:48
我有一个列表和字典。我想检查字典中是否存在列表元素,然后将其添加到新字典中list1 = [name, number, ...]mydict = {    'house no': 12232,    'stre11': 123,    'name': ali,    'area': new,    'number': 032544,    ...}newdict = {}输出:newdict = {'name': ali, 'number': 032544}
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

这是使用词典理解的绝好机会。对于 中的每个键list1,查找 中的值mydict

list1 = ['name','number']


mydict = {'house no': 12232, 'stre11': 123, 'name': 'ali', 'area': 'new', 'number': '032544'}


newdict = {k:mydict[k] for k in list1 }

# {'name': 'ali', 'number': '032544'}

请注意,如果密钥不在 中,这将引发异常mydict。如果可能的话,您可以添加一个条件:


{k:mydict[k] for k in list1 if k in mydict }


查看完整回答
反对 回复 2023-03-16
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

一种非常简单易懂的方法:


list1 = ['name', 'number']

mydict={'house no':12232,'stre11':123,'name':'ali','area':'new','number':32544}

newdict = {}


for entry in list1:

  if entry in mydict:

     newdict[entry] = mydict[entry]


查看完整回答
反对 回复 2023-03-16
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

我们将使用items()中的函数进行迭代mydict。如果其中任何 Key 的值等于来自 的任何值,desired_keyword则将new_dict创建一个具有该值的新键。


mydict={'house no':12232,'stre11':123,'name':1,'area':2,'number': 1}

desired_keyword = [1, 4]

new_dic = {}

for i, j in mydict.items():

    for d in desire_keyword:

        if d == j:

            new_dic[i] = j


查看完整回答
反对 回复 2023-03-16
  • 3 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信