On 31/08/2010 19:57, Alban Nona wrote:
Hi all,
Im stuck on this problem:
I have a function which return me a list of string (basically the result
looks like: ["FN067_098_MEN", FN067_098_JIN", FN067_098_BG"]
In other hand, I have another list full of that kind of entries:
["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"]
I would like to do something like this:
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:
if n in mySecondList:
mySecondList.remove(n)
In fact, what I want to do it to remove entries with the secondlist
which content the entries of the first one. But it seems to not work
like this.
Someone can help me please ? did I miss something ?
Your code is asking whether, for example, "FN067_098_MEN" is in
mySecondList. It isn't. mySecondList contains
"FN067_098_MEN_Hair_PUZ_v001.0001.exr", but that's not the same as
"FN067_098_MEN".
If I understand you correctly, you want to remove entries from
mySecondList which have an entry of myFirstList as a substring.
Here's one solution:
result_list = []
for second in mySecondList:
if not any(first in second for first in myFirstList):
result_list.append(second)
mySecondList = result_list
--
http://mail.python.org/mailman/listinfo/python-list