"[email protected]" <[email protected]> Wrote in message: > Dear All > > clubA= ["mary","luke","amyr","marco","franco","lucia", "sally","genevra"," > electra"] > clubB= ["mary","rebecca","jane","jessica","judit","sharon","lucia", "sally"," > Castiel","Sam"] > > I have a list of names that I would to annotate in function of presence in > different clubs: > > my input files is a long file where I have this : > > mary > luke > luigi > jane > jessica > rebecca > luis > ################################################à > > with open("file.in") as p: > mit = [] > for i in p: > lines =i.strip("\n").split("\t") > if (lines[0] in clubA: > G =lines[-1] +["clubA"] > else: > G = lines[-1] +["no"] > mit.append(G) > > > for i in mit: > if i.strip("\n").split("\t")[0] in clubB: > G =lines[-1] +["clubB"] > else: > G = lines[-1] +["no"] > finale.append(G) > ############################################################### > I just wonder if is appropriate to use a loops to check if is present the > value on a list. Is it the right way? I can use a dictionary because I have > many repeated names. > > In the end I wan to have > > > mary clubA clubB > luke clubA > luigi no > Thanks in advance for any help
There are numerous errors in the above code. You should use copy/paste, so we don't waste energy identifying errors that don't even exist in your actual code. As it stands, it wouldn't even compile. But even if you fix the typos and indentation errors and initialization errors, you still have logic errors if you want the output you specify. First, the second loop doesn’t set the lines variable at all, but just uses the value from the last iteration of the first loop. Second, even if you untangle that, luigi would end up with two 'no's, not one. You don't say what list could have repeats. I don't see any in your sample data. You also don't say how they should be treated. For example, Are all seventeen mary's in clubA? Now to your specific question. You aren't using the loops to check the lists for a name. You're quite reasonably using 'in'. You can accomplish your apparent goal much more reasonably by using a single loop and more complex if elif and else. -- DaveA _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
