fork download
  1. correspondingFunctionDatabase = [
  2. [
  3. ["Java", "System.out.println"], ["JavaScript", "console.log"], ["Python", "print"],
  4. ],
  5. [
  6. ["Java", "s1.replaceAll(str1, str2);"], ["JavaScript", "str.replace(str1, str2)"], ["Python", "str.replace(str1, str2)"], ["Haxe", "replace(str, str1, str2)"]
  7. ],
  8. [
  9. ["JavaScript", "str.split(separator)"], ["Java", "str.split(separator)"], ["Python", "re.split(separator, string)"]
  10. ],
  11. [
  12. ["JavaScript", "eval(statement)"], ["Python", "eval(statement)"]
  13. ]
  14. ]
  15.  
  16. equivalenceclasses = {n: dict(map(tuple,klass)) for n,klass in enumerate(correspondingFunctionDatabase)}
  17. bypair = {tuple(pair):n for n,klass in enumerate(correspondingFunctionDatabase) for pair in klass}
  18.  
  19. #note pep8 style name
  20. def get_corresponding_function(targetlang, pair):
  21. # you could catch exceptions here
  22. return equivalenceclasses.get(bypair.get(tuple(pair))).get(targetlang)
  23.  
  24. print get_corresponding_function("Python", ["Java", "System.out.println"])
Success #stdin #stdout 0.01s 7728KB
stdin
Standard input is empty
stdout
print