Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在字典中搜索字符串值,如果找到,则返回键和值_Python_Pandas_String_Dictionary - Fatal编程技术网

Python在字典中搜索字符串值,如果找到,则返回键和值

Python在字典中搜索字符串值,如果找到,则返回键和值,python,pandas,string,dictionary,Python,Pandas,String,Dictionary,我已经重新开始并编辑了我的问题,以便更清楚。我知道我只是有点遗漏了一些东西,但我只是需要一些指导来完成一个解决方案,因为我找不到一个帖子来回答这个问题 我想搜索字典值是否存在多个字符串,如果存在,则打印键和值 这是一个示例字典,如果print(d) 我想搜索这些字符串- match = ['flag','frown'] 我在一个搜索值中找到了类似的东西 def matchingKeys(dictionary, searchString): return [key for key,val

我已经重新开始并编辑了我的问题,以便更清楚。我知道我只是有点遗漏了一些东西,但我只是需要一些指导来完成一个解决方案,因为我找不到一个帖子来回答这个问题

我想搜索字典值是否存在多个字符串,如果存在,则打印键和值

这是一个示例字典,如果
print(d)

我想搜索这些字符串-

match = ['flag','frown']
我在一个搜索值中找到了类似的东西

def matchingKeys(dictionary, searchString):
    return [key for key,val in dictionary.items() if any(searchString in s for s in val)]
matchingKeys(d,'frown')
这里的输出是
[1]
,但我希望像这样搜索多个字符串,但是输出不是很有效

{key:s for s in match for key,val in d.items() if any(s in val for s in match)}
即使
皱眉
仅存在于
[1]

{0 : 'frown',1:'frown'}
如果找到了匹配项,这会带来键的每个值,而不仅仅是匹配项

{key:val for key,val in d.items() if any(s in val for s in match)}
我想要的实际输出是-

{0:'flag',1:'flag','frown'}

我成功地找到了答案

dict((key, [x for x in value if x in match]) for key,value in d.items())

在第一个示例中,您使用什么来显示字典?这不是通常的样子。请给我一个答案。您显示的“字典”不是有效语法,也不是最小值。你能展示一个使用有效语法的小示例字典吗?我也不知道你搜索“在col1值内…col是一个数据帧列”是什么意思。如果你确实有一个数据帧,那么a)你应该明确地说你正在使用Pandas和tag[Pandas];b) 这不是一本字典,所以我这里没有对问题的清晰描述。
type(d[0])
返回
pandas.core.frame
,但是
type(d)
返回
dict
,因此这是一个独特的案例,请显示:一个精确的示例输入;确切的预期结果;您以前实际尝试过的确切代码(减少到与问题相关的部分);以及当您尝试该代码时到底发生了什么(以及这与您想要的有什么不同)。
dict((key, [x for x in value if x in match]) for key,value in d.items())