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())