I believe that jaccard and dice are implemented in scipy: scipy.spatial.distance.pdist. Is there a reason to reimplement them?

One thing to be careful about is that the scipy implementation are the 'distance' version, ie 1 - the index.