过滤python词典中的项,其中键包含特定的字符串

发布于 2021-01-29 18:30:38

我是用python开发东西的C编码器。我知道如何在C语言中执行以下操作(以及因此在应用于Python的类似C的逻辑中),但是我想知道这样做的“
Python”方式是什么。

我有一个字典d,我想对项的子集进行操作,只有那些键(字符串)的项包含特定的子字符串。

即C逻辑将是:

for key in d:
    if filter_string in key:
        # do something
    else
        # do nothing, continue

我在想python版本会像

filtered_dict = crazy_python_syntax(d, substring)
for key,value in filtered_dict.iteritems():
    # do something

我在这里找到了很多有关过滤字典的文章,但是找不到与之相关的文章。

我的字典未嵌套,我正在使用python 2.7

关注者
0
被浏览
43
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    字典理解如何:

    filtered_dict = {k:v for k,v in d.iteritems() if filter_string in k}
    

    您所看到的它应该是不言自明的,因为它的英语读起来很好。

    此语法要求Python 2.7或更高版本。

    在Python
    3中,只有dict.items()iteritems()所以您可以使用:

    filtered_dict = {k:v for (k,v) in d.items() if filter_string in k}
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看