Python 从列表中放入具有for循环的函数的参数

Python 从列表中放入具有for循环的函数的参数,python,for-loop,data-analysis,Python,For Loop,Data Analysis,名单如下: 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',

名单如下:

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')

如果要使用
li
的前3项调用函数
erase
,则应切掉列表的前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])

您需要解释这段代码应该做什么,以及它目前做错了什么。您想要什么还不清楚。您能告诉我们您的预期输出和当前输出/错误吗?@FHTMitchell您能建议如何修复它吗?