我正在使用python 3,并且有两个与它们的索引相关的列表,但是具有单独的值。
scans = [400,405]
points = [101,201]
例如,扫描400有101点,扫描405有201点。
我正在尝试为每次扫描构建一组文件名(即字符串),如下所示:
2idd_flyXMAP_0400_0.nc
2idd_flyXMAP_0400_1.nc
2idd_flyXMAP_0400_2.nc
...
2idd_flyXMAP_0400_98.nc
2idd_flyXMAP_0400_99.nc
2idd_flyXMAP_0400_100.nc
和
2idd_flyXMAP_0405_0.nc
2idd_flyXMAP_0405_1.nc
2idd_flyXMAP_0405_2.nc
...
2idd_flyXMAP_0405_199.nc
2idd_flyXMAP_0405_200.nc
通知扫描405将具有与其关联的更多文件。我接近以下代码,但是嵌套的for循环的性质使我重复了太多次,并生成了不需要的字符串(即,一组扫描200包含200点,一组扫描405包含100点,两者不必要)。
scans = [400,405]
points = [101,201]
for scan in scans:
pre_f = '2idd_flyXMAP_0' + str(scan) + '_'
for point in points:
endfile = list(range(point)) #this seems to be where the problem is; i generate four sets of lists here because i have two elements in two lists
for point in endfile:
f = pre_f + str(point) + '.nc'
print(f)
我可能对此设置不正确,但是在这种情况下,我想做的是将scan
for循环和第一个point
for循环的索引都更改为第一个{ {1}} for循环完成。我不确定如何完成此操作,但是我认为这应该可以解决我的问题。
当然,我愿意采用单独的,更简单的方法,并预先感谢您的帮助!
答案 0 :(得分:1)
您可以使用zip:
scans = [400, 405]
points = [5, 6]
for scan, point in zip(scans, points):
pre_f = '2idd_flyXMAP_0' + str(scan) + '_'
for p in range(point):
f = pre_f + str(p) + '.nc'
print(f)
输出
2idd_flyXMAP_0400_0.nc
2idd_flyXMAP_0400_1.nc
2idd_flyXMAP_0400_2.nc
2idd_flyXMAP_0400_3.nc
2idd_flyXMAP_0400_4.nc
2idd_flyXMAP_0405_0.nc
2idd_flyXMAP_0405_1.nc
2idd_flyXMAP_0405_2.nc
2idd_flyXMAP_0405_3.nc
2idd_flyXMAP_0405_4.nc
2idd_flyXMAP_0405_5.nc
答案 1 :(得分:1)
您也可以使用enumerate
$('#myDiv').on('tokenize:tokens:remove', function(event, value, text) {
dostuff();
$(this).trigger('tokenize:focus'); //refocus same input
});
答案 2 :(得分:0)
您可以使用zip:
for point, scan in zip(points, scans):
for p in range(point):
print("2idd_flyXMAP_0{a}_{b}.nc".format(a=scan, b=p))