我有以下函数,用于提取与索引项关联的非连续文件名:
check_increment(plot_inf):
lists = sorted(plot_inf.items()) # sorted by key, return a list of tuples
x, y = zip(*lists) # unpack a list of pairs into two tuples
bad_steps =[]
for item in range(len(x)-1):
diff = (y[item+1])-(y[item])
if diff <> increment_value:
bad_steps.append((x[item]))
return bad_steps
我是这么叫它的
results = check_increment(plot_info)
print results
结果如下:
['image_D2017-06-26T17-02-01-994022Z_2.jpg', 'image_D2017-06-26T17-02-02-
327353Z_0.jpg', 'image_D2017-06-26T17-02-02-660684Z_1.jpg', 'image_D2017-06-
26T17-02-02-994007Z_2.jpg', 'image_D2017-06-26T17-02-03-327330Z_0.jpg',
'image_D2017-06-26T17-02-03-660654Z_1.jpg', 'image_D2017-06-26T17-02-03-
993973Z_2.jpg', 'image_D2017-06-26T17-02-04-327305Z_0.jpg', 'image_D2017-06-
26T17-02-04-660625Z_1.jpg']
当我独立运行代码时,它可以工作:
plot_dict = {'image_D2017-06-26T17-02-03-327330Z_0.jpg': 6231, 'image_D2017-
06-26T17-02-02-660684Z_1.jpg': 6229, 'image_D2017-06-26T17-02-02-
327353Z_0.jpg': 622, 'image_D2017-06-26T17-02-04-660625Z_1.jpg': 6235,
'image_D2017-06-26T17-02-03-993973Z_2.jpg': 6233, 'image_D2017-06-26T17-02-
02-994007Z_2.jpg': 6230, 'image_D2017-06-26T17-02-01-994022Z_2.jpg': 6227,
'image_D2017-06-26T17-02-04-993951Z_2.jpg': 6236, 'image_D2017-06-26T17-02-
03-660654Z_1.jpg': 6232, 'image_D2017-06-26T17-02-04-327305Z_0.jpg': 6234}
increment_value = 1
lists = sorted(plot_dict.items()) # sorted by key, return a list of tuples
x, y = zip(*lists) # unpack a list of pairs into two tuples
bad_steps =[]
for item in range(len(x)-1):
diff = (y[item+1])-(y[item])
if diff <> increment_value:
bad_steps.append((x[item]))
print bad_steps
结果如下:
['image_D2017-06-26T17-02-01-994022Z_2.jpg', 'image_D2017-06-26T17-02-02-327353Z_0.jpg']
有什么想法吗?你知道吗
好的,找到了问题的根源,@zwer在正确的地方。当由完整脚本调用时,Increment\u value参数以字符串形式传入。为了解决这个问题,我修改了下面的一行,将其转换为int
它在独立环境中工作,因为它从一开始就被声明为int。你知道吗
谢谢你在这方面的帮助!你知道吗
相关问题 更多 >
编程相关推荐