猿问

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

我有一个列表和字典。我想检查字典中是否存在列表元素,然后将其添加到新字典中


list1 = [name, number, ...]

mydict = {

    'house no': 12232,

    'stre11': 123,

    'name': ali,

    'area': new,

    'number': 032544,

    ...

}

newdict = {}

输出:


newdict = {'name': ali, 'number': 032544}


偶然的你
浏览 105回答 3
3回答

当年话下

这是使用词典理解的绝好机会。对于 中的每个键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 }

扬帆大鱼

一种非常简单易懂的方法: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]

缥缈止盈

我们将使用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
随时随地看视频慕课网APP

相关分类

Python
我要回答