ifnot isinstance(syms, list):
sys.stderr.write("expected JSON list at top level of file:" + fileName + "\n")
sys.exit(2); return syms
def removeDuplicates(syms): if len(syms) == 0: return
syms.sort()
sym = syms[0]
i = 1 while i < len(syms): if sym == syms[i]: del syms[i] else:
sym = syms[i]
i += 1
#enumerate all key and values
#function used to map unique number to each string passed in
uniqueIndex = 1
values = dict() def addUniqueValueTo(value): global uniqueIndex global values if value notin values:
values[value] = uniqueIndex
uniqueIndex += 1
def enumerateValues(syms): for sym in syms: for (k,v) in sym.iteritems():
addUniqueValueTo(k)
addUniqueValueTo(v)
#returns list of int tuples (a permutation) def toPermutation(jsonSym):
perm = list() for (k,v) in jsonSym.iteritems():
perm.append((values[k], values[v])) return perm
def extendList(listIn, newSize):
oldSize = len(listIn) if newSize < oldSize: return for x in range(oldSize, newSize + 1):
listIn.append(x);
def toListNotation(perm):
outList = list() for (a,b) in perm:
extendList(outList,a)
outList[a] = b return outList
def jsonToListNotation(syms):
buffer = [];
firstPerm = True;
buffer.append("[") for sym in syms:
p = toPermutation(sym)
l = toListNotation(p)
l = l[1:len(l)] ifnot firstPerm:
buffer.append(",") else:
firstPerm = False;
buffer.append(str(l))
buffer.append("]") return"".join(buffer)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.