efficiently checking for string.maketrans conflicts?
Saketh
saketh.bhamidipati at gmail.com
Mon Apr 20 12:36:05 EDT 2009
Hi everyone:
I'm using "translation" in the sense of string.maketrans here.
I am trying to efficiently compare if two string translations
"conflict" -- that is, either they differently translate the same
letter, or they translate two different letters to the same one. Here
are some examples:
# no conflict - equal
t1 = Translation('ab', 'cd')
t2 = Translation('ab', 'cd')
# no conflict - inverses
t1 = Translation('ab', 'cd')
t2 = Translation('cd', 'ab')
# conflict - same key, different value
t1 = Translation('ab', 'cd')
t2 = Translation('ab', 'ce')
# conflict - different key, same value
t1 = Translation('ab', 'cd')
t2 = Translation('xy', 'cd')
This conflict-checking is the bottleneck of my program, and the
obvious way to implement it -- looping through the translations and
explicitly checking for the above conditions -- is much slower than
I'd like.
Is there a more efficient, Pythonic way of checking if two
translations conflict?
Sincerely,
Saketh
More information about the Python-list
mailing list