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

Popular posts from this blog

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

php - Get uncommon values from two or more arrays -

Adding duplicate array rows in Php -