online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
words = ['Talk', 'is', 'cheap', 'Show', 'me', 'the', 'code', 'by', 'Linus', 'Torvalds'] # simple solution that uses loops a lot: indexes = list(range(len(words))) indexes.sort(key=lambda i: words[i].lower()) ranks = {} for r, i in enumerate(indexes): ranks[i] = r ranked_words = [] for i, w in enumerate(words): ranked_words.append((w, ranks[i])) print(ranked_words) # three line solution that uses list & dict comprehension: indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = {i: r for r, i in enumerate(indexes)} ranked_words = [(w, ranks[i]) for i, w in enumerate(words)] print(ranked_words) # two more options to construct ranks: indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = dict(zip(indexes, range(len(words)))) ranked_words = [(w, ranks[i]) for i, w in enumerate(words)] print(ranked_words) indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = dict(map(reversed, enumerate(indexes))) ranked_words = [(w, ranks[i]) for i, w in enumerate(words)] print(ranked_words) # three more options to construct ranked_words: indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = dict(map(reversed, enumerate(indexes))) ranked_words = list(zip(words, (ranks[i] for i in range(len(words))))) print(ranked_words) indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = dict(map(reversed, enumerate(indexes))) ranked_words = list(zip(words, map(ranks.get, range(len(words))))) print(ranked_words) indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = dict(map(reversed, enumerate(indexes))) ranked_words = [(words[i], ranks[i]) for i in range(len(words))] print(ranked_words) # no low level indexes: indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = dict(map(reversed, enumerate(indexes))) ranked_words = list(zip(words, map(ranks.get, range(len(words))))) print(ranked_words) # combine in two long lines: ranks = dict(map(reversed, enumerate(sorted(range(len(words)), key=lambda i: words[i].lower())))) ranked_words = list(zip(words, map(ranks.get, range(len(words))))) print(ranked_words) # alternative solution, which calls sort-method twice: indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranks = dict(zip(indexes, range(len(words)))) ranked_words = [(words[i], r) for i, r in sorted(ranks.items())] print(ranked_words) # exclude the construction of ranks: indexes = sorted(range(len(words)), key=lambda i: words[i].lower()) ranked_words = [(words[i], r) for i, r in sorted(zip(indexes, range(len(words))))] print(ranked_words) # in one single line: ranked_words = [(words[i], r) for i, r in sorted(zip(sorted(range(len(words)), key=lambda i: words[i].lower()), range(len(words))))] print(ranked_words)

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue