【发布时间】:2019-03-27 09:46:31
【问题描述】:
comp = {'Bajaj Auto Ltd.':"Bajaj Auto Ltd., Bajaj Auto Ltd, Bajaj Auto,
Bajaj Auto's, Bajaj Auto Limited"}
comp_name='Bajaj Auto Ltd.'
def findcname(comp_name,data,comp):
comp=comp
comp_name=comp[comp_name]
#data=data[data.Head.str.contains("|".join(list(map(lambda x:x.strip(),
#(comp_name.split(','))))),case=False) |
#data.Content.str.contains("|".join(list(map(lambda x:x.strip(),
#(comp_name.split(','))))),case=False)]
data['Company']=list(comp.keys())list(comp.values()).index(comp[comp_name])
return data
findcname(comp_name,data,comp)
> Output:
>
> KeyError Traceback (most recent call last)
> <ipython-input-122-37eb04bc7686> in <module>()
> ----> 1 findcname(comp_name,data,comp)
>
> <ipython-input-121-29a90c8a1238> in findcname(comp_name, data, comp)
#> 3 comp_name=comp[comp_name]
#> 4 data=data[data.Head.str.contains("|".join(list(map(lambda
# x:x.strip(),(comp_name.split(','))))),case=False) |
# data.Content.str.contains("|".join(list(map(lambda
# x:x.strip(),(comp_name.split(','))))),case=False)]
> ----> 5 data['Company']=list(comp.keys())list(comp.values()).index(comp[comp_name])]
> 6 return data
>
> KeyError: "Bajaj Auto Ltd., Bajaj Auto Ltd, Bajaj Auto, Bajaj Auto's,
Bajaj Auto Limited"
执行错误行:
(list(comp.keys())[list(comp.values()).index(comp[comp_name])])
> Output:
> 'Bajaj Auto Ltd.'
当我尝试在其中插入语句时,这段代码出现错误 函数,它显示错误或显示字典值而不是 字典键。虽然在函数外执行同一行时它正在工作 完美(即它给出了正确的字典键)。
【问题讨论】:
-
“执行”字典是什么意思?我很难理解这段代码在做什么。
-
另外,它是一个 Pandas 数据框吗?
-
你在行尾有一个额外的
]:list(comp.values()).index(comp[comp_name])],你还没有定义数据,所以很难调试你的代码。 “执行错误行”不在您的代码中,因此不太清楚问题是什么。
标签: python python-3.x function dictionary ordereddictionary