python - 如何在函数内部传递字典语句
问题描述
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.'
我在这段代码中有错误,当我试图在函数中插入语句时,它显示错误或显示字典值而不是字典键。虽然在函数外执行同一行时,它工作得很好(即它给出了正确的字典键)。
解决方案
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[comp_name].split(','))))),case=False) | data.Content.str.contains("|".join(list(map(lambda x:x.strip(),(comp[comp_name].split(','))))),case=False)]
data['Company']=list(comp.keys())list(comp.values()).index(comp[comp_name])
return data
我认为这现在会很完美。
推荐阅读
- javascript - Content-Security-Policy 和 SVG 与外部
- kali-linux - 如何使用紧缩创建密码的特殊模式
- java - 这种使用 PreparedStatement;易受 SQL 注入攻击(使用 JDBC)
- javascript - 在 Power BI 自定义视觉对象的呈现中更改 customVisualHost.bundle.js
- visual-studio - 为什么 SSISDeploy 会覆盖整个项目,而不仅仅是修改的内容?
- javascript - 如何将js值传递给烧瓶路线
- ssh - SSH 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic)
- c# - 按文件名压缩一组文件
- linux - 如何别名选项?
- java - 断开连接后jsch无法杀死`tail - f`