I am not sure what I am doing wrong, but my for loop doesn't work the way I want it.
import re
liste = ["train_seg/aoi105_c1_20_A", "train_seg/aoi105_c1_30_A", "train_seg/aoi105_c1_30_B",
"train_seg/aoi98_c1_20_A", "train_seg/aoi98_c1_30_A", "train_seg/aoi98_c1_30_B",
"train_classes/aoi98_c1_20_A", "train_classes/aoi98_c1_30_A", "train_classes/aoi98_c1_30_B",
"train_classes/aoi105_c1_20_A", "train_classes/aoi105_c1_30_A", "train_classes/aoi105_c1_30_B"]
cat = ["c1"]
seg = ["20", "30"]
com = ["A", "B"]
for x in cat:
for y in seg:
for z in com:
if y == "20" and z == "B":
continue
#print(x,y,z)
for s in liste:
if all(a in s for a in ["aoi105", x, y, z]):
#print(s)
if re.findall("train_seg", s):
print(s)
if re.findall("train_classes", s):
print(s)
if all(a in s for a in ["aoi98", x, y, z]):
#print(s)
if re.findall("train_seg", s):
print(s)
if re.findall("train_classes", s):
print(s)
I want the elements of the list "liste" evaluated in the following order:
train_seg/aoi105_c1_20_A
train_classes/aoi105_c1_20_A
train_seg/aoi98_c1_20_A
train_classes/aoi98_c1_20_A
train_seg/aoi105_c1_30_A
train_classes/aoi105_c1_30_A
train_seg/aoi98_c1_30_A
train_classes/aoi98_c1_30_A
train_seg/aoi105_c1_30_B
train_classes/aoi105_c1_30_B
train_seg/aoi98_c1_30_B
train_classes/aoi98_c1_30_B
Why is every line evaluated not in the right order? I would like train_seg and train_classes to be evaluated for each number first. Thanks!