ai didi

python - 将字典元素作为参数传递给函数

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:31 24 4
gpt4 key购买 nike

看到了类似问题的一些答案,但没有内置函数/多条目词典。假设我有一个字典,其中包含不同 map 投影的 basemap 参数;

Domains = {'TPCentral':["projection='geos',lon_0=-160,lat_0=0,resolution='l'"],
'World':["projection='robin',lon_0=0"]}

我想调用 basemap 函数(来自maplotlib),以便

m = Basemap(Domains['TPCentral'])

这样它的功能相当于;

m = Basemap(projection='geos',lon_0=-160,lat_0=0,resolution='l')

问题是这将其作为一个长字符串传递,不确定如何将其分解为单独的参数(尝试使用 *)。提前致谢!

最佳答案

["projection='geos',lon_0=-160,lat_0=0,resolution='l'"]

是包含单个字符串的列表。对它使用解包会产生一个字符列表 - 这几乎肯定比您的参数数量大得多,而且肯定不是您想要发送的参数。您最好使用字典来保存这些值:

'TPCentral': {
'projection': 'geos',
'lon_0': -160,
'lat_0': 0,
'resolution': 'l'}

然后用关键字参数解包解包:

m = Basemap(**Domains['TPCentral'])
<小时/>

如果你迫于这种格式,你可以做一些字符串处理,比如

pairs = [x.split('=') for x in Domains['TPCentral'][0].split(',')]
Domains['TPCentral'] = {k: eval(v) for k, v in pairs}

关于python - 将字典元素作为参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43765091/

24 4 0
文章推荐: google-app-engine - Google Cloud 中的 Google Compute Engine、App Engine 和 Container Engine 有什么区别?
文章推荐: python - 在Python中找不到指定相对路径的文件
文章推荐: google-app-engine - 什么是来自 App Engine 任务队列的 Tombstone 任务错误?
文章推荐: python - Django中的SAML/Shibb身份验证
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com