python - iterate over a list with some conditions -
i have 2 lists, valid
, locations
. valid
contains ids represented string numbers, , location
contains id + strings (path) belonging id follow.
my goal check if id part of valid group. if true valid id , following items call functions. when inavlid id detected should skip , move item next id.
my code goes this:
valid = ['1', '2', '3', '4', '5', '6', '27', '28', '29'] locationlist = ['1', '1_path1','1_path2','1_path3','2', '2_path1','2_path2','2_path3', '55','55_path1','55_path2', '3', '3_path1' ] item in locationlist: if len(item)< 3: if item in valid: print "###########lib id found in item %s############" %item print "call bring file name function - %s" %item continue else: continue print "call fix path function - %s" %item print "call search file function -%s" %item
my probelm after else:
statment item value '55'
== invalid. @ point wish move item forward in list place value next id (in case '3'
).
my current output is:
###########lib id found in item 1############ call bring file name function - 1 call fix path function - 1_path1 call search file function -1_path1 call fix path function - 1_path2 call search file function -1_path2 call fix path function - 1_path3 call search file function -1_path3 ###########lib id found in item 2############ call bring file name function - 2 call fix path function - 2_path1 call search file function -2_path1 call fix path function - 2_path2 call search file function -2_path2 call fix path function - 2_path3 call search file function -2_path3 call fix path function - 55_path1 call search file function -55_path1 call fix path function - 55_path2 call search file function -55_path2 ###########lib id found in item 3############ call bring file name function - 3 call fix path function - 3_path1 call search file function -3_path1
i wish :
###########lib id found in item 1############ call bring file name function - 1 call fix path function - 1_path1 call search file function -1_path1 call fix path function - 1_path2 call search file function -1_path2 call fix path function - 1_path3 call search file function -1_path3 ###########lib id found in item 2############ call bring file name function - 2 call fix path function - 2_path1 call search file function -2_path1 call fix path function - 2_path2 call search file function -2_path2 call fix path function - 2_path3 call search file function -2_path3 ###########lib id found in item 3############ call bring file name function - 3 call fix path function - 3_path1 call search file function -3_path1
instead of changing data structures (although changing valid
set idea):
valid = ['1', '2', '3', '4', '5', '6', '27', '28', '29'] locationlist = ['1', '1_path1','1_path2','1_path3','2', '2_path1','2_path2','2_path3', '55','55_path1','55_path2', '3', '3_path1' ] accept = false item in locationlist: if len(item) < 3: accept = item in valid if accept: print "###########lib id found in item %s############" % item print "call bring file name function - %s" % item elif accept: print "call fix path function - %s" % item print "call search file function -%s" % item
Comments
Post a Comment