list index()

mensanator at mensanator at
Fri Aug 31 05:22:37 CEST 2007

On Aug 30, 9:26 pm, al... at (Alex Martelli) wrote:
> <zzbba... at> wrote:
>    ...
> > In my case of have done os.listdir() on two directories. I want to see
> > what files are in directory A that are not in directory B.
> So why would you care about WHERE, in the listdir of B, are to be found
> the files that are in A but not B?!  You should call .index only if you
> CARE about the position.
> is the "one obvious way to do it" (the set(...) is just a simple and
> powerful optimization -- checking membership in a set is roughly O(1),
> while checking membership in a list of N items is O(N)...).

Why wouldn't "the one obvious way" be:

 def inAnotB(A, B):
     inA  = set(os.listdir(A))
     inBs = set(os.listdir(B))
     return inA.difference(inBs)

> Alex

More information about the Python-list mailing list