python - 如何将整个语句作为函数参数传递?Python
问题描述
我有这个dict
dic = {'wow': 77, 'yy': 'gt', 'dwe': {'dwdw': {'fefe': 2006}}}
我有这个功能
def get_missing_key(data, nest, default_value):
try:
return data + nest
except KeyError as err:
return default_value
这就是我所说的:
get_missing_key(dic, ['dwe']['dwdw']['fefe'], 16)
我想要的是我希望将第二个参数转换为普通的 python 表达式并用它进行计算
我希望它是这样的
def get_missing_key(data, nest, default_value):
try:
return data['dwe']['dwdw']['fefe']
except KeyError as err:
return default_value
有没有办法做到这一点?
但是我所拥有的显然不起作用,因为我无法将 adict
与 a连接起来list
解决方案
你可以像@kyle-parsons 那样使用reduce,或者你可以手动循环:
lookup = ["dwe", "dwdw", "fefe"]
def find_missing(data, lookup, default):
found = data
for i in lookup:
try:
found = found[i]
except KeyError:
return default
return found
推荐阅读
- c++ - 如何使用 c++ 和 makefile 在不同的文件夹中制作目标文件
- google-apps-script - 试图制作一个脚本,用来自谷歌表的蒙面超链接自动填充谷歌文档
- java - 如何将字符串中的大十进制数字转换为Java中的十六进制?
- python-3.x - 如何使用单个按钮从多个 Tkinter 条目中获取输入?
- html - 如何仅从该元素中提取 url?
- java - 如何在平行通量内的同一线程中运行单声道
- c++ - Debugging error with vectors in C++ and VS code
- bash - bash error: curl: (3) Illegal characters found in URL
- docker - 在启动时将数据预加载到 SQL Server docker 映像中
- php - Twitter TypeAhead: How to improve my code to display thumbnails?