Well, I have a lot to learn :) Thank you very much both of you ! it seems to work now :p
2010/8/31 MRAB <pyt...@mrabarnett.plus.com> > On 31/08/2010 20:20, Alban Nona wrote: > >> Ok, here a solution: >> >> myFirstList = ["FN067_098_MEN", "FN067_098_JIN", "FN067_098_BG"] >> >> mySecondList = >> >> ["FN067_098_MEN_Hair_PUZ_v001.0001.exr","FN067_098_JIN_Hair_SPC_v001.0001.exr","FN067_098_MEN_Jin_MVE_v001.0001.exr","FR043_010_GEN_NRM_v001.0001.exr"] >> >> for n in myFirstList: >> var = str(n) >> > > Why str(n)? > > Also, it would be clearer if you used different variables for the > different loops. > > > for n in mySecondList: >> if var in n: >> mySecondList.remove(n) >> > > You shouldn't change the length of a list over which you're iterating. > Python will step along the list one entry at a time and won't notice when > you remove an entry, so the next one will be skipped. For example: > > >>> letters = ["a", "b", "c", "d", "e"] > >>> for i in letters: > ... if i == "b" or i == "c": > ... letters.remove(i) > ... > >>> print letters > ['a', 'c', 'd', 'e'] > > It removed "b" and then moved on to the next entry, which is "d" > because "b" has been removed and all the following entries have moved > down one place. It never sees "c". > > >> print mySecondList >> >> [snip] > > -- > http://mail.python.org/mailman/listinfo/python-list >
-- http://mail.python.org/mailman/listinfo/python-list