当前位置: 首页 > 面试题库 >

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

葛成双
2023-03-14
问题内容

我是用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


问题答案:

字典理解如何:

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}


 类似资料:
  • 我尝试过滤包含值的所有“描述”键的JSON文件;自版本”来打印它们的路径和包含在该值中的版本。我在bash脚本中完成所有这些。 我过滤的JSON来自一个API,在不同的路径上有“description”键。 这是服务器JSON的摘录 到目前为止,我使用curl从服务器获取JSON,并应用以下过滤器将其传输到jq,以获得包含描述中的值的所有路径的列表:

  • 问题内容: 我有这样的课 我在我的参考 我的是根据Firebase查询的类生成的字典数组。然后,我得到了从另一个视图控制器(该函数是集合视图)生成的字符串。我想获取该字符串,然后使用与我之前的字符串相等的字符串过滤或搜索数组。然后删除不等于。不仅对象,而且包含非等键,值对的整个数组。我已经找了几天了,但我坚持过滤从类创建的字典数组。我已经看过并尝试过NSPredicates,for- in循环,但

  • 我有一个包含字典作为其元素的列表 我想从dict_1变量中得到这样的输出 帮助我知道在这种情况下我该怎么做。

  • 问题内容: 我想替换字符串语句中的单词,例如: 用实际名词/动词替换“ $ $”(含)中的字符的正则表达式是什么? 问题答案: 您不需要为此使用正则表达式。我会做 仅在需要时使用正则表达式。通常比较慢。

  • 问题内容: 那么,如何检查字符串中是否包含特定单词? 这是我的代码: 我遇到了错误。 问题答案: 并不像他们所说的那么复杂,选中此选项您不会后悔。 您可以根据需要更改。

  • 本文向大家介绍找出包含Python中特定字符串的最小子字符串的程序,包括了找出包含Python中特定字符串的最小子字符串的程序的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个字符串s和t。我们必须找到s中最小的子字符串,其中t也是子字符串的子序列。如果该类型的子字符串不存在,我们将返回一个空白字符串,如果有多个最小的子字符串,我们将选择最左边的一个。 因此,如果输入类似于s =“ abcb