python - 从列表中放入带有for循环的函数的参数
问题描述
名单:
li=['check3_dwg_Polyline', 'check2_dwg_Polyline',
'check3_dwg_Polyline_feat_to_polyg',# this will not be needed to extracted
'check2_dwg_Polyline_feat_to_polyg',# >> >>
'check3_dwg_Polyline_feat_to_polyg_feat_to_line',
'check2_dwg_Polyline_feat_to_polyg_feat_to_line']
目的
将参数设置为:
erase('check3_dwg_Polyline','check3_dwg_Polyline_feat_to_polyg_feat_to_line','output_name')
有用的信息:尝试对列表进行排序但没有修复它。
erase
目的是从列表中提取文件并通过循环将它们放入函数中。
像这样:
erase('check3_dwg_Polyline','check3_dwg_Polyline_feat_to_polyg_feat_to_line','output_name')
我试过了:
a=[li[i:i+3] for i in range(0, len(li), 3)]
for base, base_f, base_line in a:
print(base, base_line, base + "_output") # when it is fixed the
# print will be replaced with
# 'erase' to form the function
它给出了:
check2_dwg_Polyline_feat_to_polyg check2_dwg_Polyline_feat_to_polyg_feat_to_line check2_dwg_Polyline_feat_to_polyg_output
check3_dwg_Polyline check3_dwg_Polyline_feat_to_polyg check3_dwg_Polyline_output
虽然它应该:
check3_dwg_Polyline check3_dwg_Polyline_feat_to_polyg_feat_to_line check3_dwg_Polyline_output
check2_dwg_Polyline check2_dwg_Polyline_feat_to_polyg_feat_to_line check2_dwg_Polyline_output
所以以后它可以像这样运行:
erase('check3_dwg_Polyline','check3_dwg_Polyline_feat_to_polyg_feat_to_line','output_name')
解决方案
如果要erase
使用 的前 3 项调用该函数li
,则应切掉列表的前 3 项并使用 调用该函数apply
:
def erase(a,b,c):
#do something with a,b,c
return
li=['check3_dwg_Polyline', 'check2_dwg_Polyline',
'check3_dwg_Polyline_feat_to_polyg',
'check2_dwg_Polyline_feat_to_polyg',
'check3_dwg_Polyline_feat_to_polyg_feat_to_line',
'check2_dwg_Polyline_feat_to_polyg_feat_to_line']
apply(erase,li[:3])
推荐阅读
- typescript - 打字稿如何在运行时检查对象属性类型
- python - 如何将函数的返回值传递给.kv文件并将其设置为标签文本
- c# - “过滤器'Abp.AspNetCore.Mvc.Antiforgery.AbpAutoValidateAntiforgeryTokenAuthorizationFilter 的请求授权失败”中的错误
- python - 为什么 tf.matmul 在 Tensorflow 中会产生数值错误?
- angular - 在 angular ng build 命令 dockerfile 中传递环境 --dev
- javascript - 禁止您无权访问此资源。Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.2.34 服务器在 localhost 端口 80
- javascript - 在一个组件中使用多个 onClick 事件监听器
- resttemplate - 当特定方法失败时,有什么方法可以重试不同的方法(而不是重试该失败的方法)
- kotlin - 将字符串转换为 LocalDate Kotlin
- python - 将 MATLAB 中的 CircleFitByKasa 翻译成 Python