lambda函数在arcgis脚本开发中的应用场景,统一转换元组(列表)的类型

今天在arcgis脚本开发中碰到一个问题,在定义变量时,用的是GetParameterAsText函数,此函数返回的是一个字符串,但是在输入时,限定了只能输入整型数据。

#定义的接收变量
zaodao_gw = arcpy.GetParameterAsText(3)
wandao_gw = arcpy.GetParameterAsText(4)
youcai_gw = arcpy.GetParameterAsText(5)
hanyoucai_gw = arcpy.GetParameterAsText(6)
mianhua_gw = arcpy.GetParameterAsText(7)
ganshu_gw = arcpy.GetParameterAsText(8)
huasheng_gw =arcpy.GetParameterAsText(9)
candou_gw = arcpy.GetParameterAsText(10)
在后面函数中定义了一个元组变量gwxs,直接接收变量值。
gwxs = (zaodao_gw, wandao_gw, hanyoucai_gw, mianhua_gw)

在将此元组变量直接用gwxs[0],gwxs[1],参与数学计算时,报错,原因是类型错误。

这时就需要将此字符串的元组变量,统一转换成整型的元组变量。搜索发现,python提供了一个lambda,lambda是Python预留的关键字,其中有个map函数。此时lambda函数用于指定对列表中每一个元素的共同操作。例如map(lambda x: x+1, [1, 2,3])将列表[1, 2, 3]中的元素分别加1,其结果[2, 3, 4]。

将以上的元组代码改造下,

gwxs_new=tuple(map(lambda x: int(x),gwxs)),这时gwxs_new就变成了一个整型元组,这时候就可以直接调用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值