我正在尝试用python编写一个递归函数,它检查列表中的名称并给出一个新名称。可以使用传递给函数的参数comm和index来形成要检查的csv的名称。 我编写了下面的函数,并期望输出打印为字符串
csv_full_list=["mycsv_0","mycsv_1"]
def create_csv_name(comm,index):
if comm+"_"+str(index) in csv_full_list:
create_csv_name(comm,index+1)
else:
return comm+"_"+str(index)
print create_csv_name("mycsv",0)
任何人都可以打电话给我这个函数返回的原因 没有类型
代替
of string。
答案 0 :(得分:0)
您必须增加索引以避免无休止的递归。
csv_full_list = ['mycsv_0', 'mycsv_1']
def create_csv_name(comm, index):
global csv_full_list
if comm + '_' + str(index) in csv_full_list:
index += 1 # increment index by 1
create_csv_name(comm, index=index)
else:
return '%s_%i' % (comm, index)
print(create_csv_name('mycsv', 0))