First commit of partial RosettaCode contents.
Pushing this for testing purposes. Lots of work still needed.
This commit is contained in:
commit
1e05ecd7ee
781 changed files with 9080 additions and 0 deletions
14
Task/Anagrams/Python/anagrams-2.py
Normal file
14
Task/Anagrams/Python/anagrams-2.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
import urllib.request, itertools
|
||||
import time
|
||||
words = urllib.request.urlopen('http://www.puzzlers.org/pub/wordlists/unixdict.txt').read().split()
|
||||
print('Words ready')
|
||||
t0 = time.clock()
|
||||
anagrams = [list(g) for k,g in itertools.groupby(sorted(words, key=sorted), key=sorted)]
|
||||
anagrams.sort(key=len, reverse=True)
|
||||
count = len(anagrams[0])
|
||||
for ana in anagrams:
|
||||
if len(ana) < count:
|
||||
break
|
||||
print(ana)
|
||||
t0 -= time.clock()
|
||||
print('Finished in %f s' % -t0)
|
||||
25
Task/Anagrams/Python/anagrams-3.py
Normal file
25
Task/Anagrams/Python/anagrams-3.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
>>> import urllib
|
||||
>>> from collections import defaultdict
|
||||
>>> words = urllib.urlopen('http://www.puzzlers.org/pub/wordlists/unixdict.txt').read().split()
|
||||
>>> len(words)
|
||||
25104
|
||||
>>> anagram = defaultdict(list) # map sorted chars to anagrams
|
||||
>>> for word in words:
|
||||
anagram[tuple(sorted(word))].append( word )
|
||||
|
||||
|
||||
>>> count = max(len(ana) for ana in anagram.itervalues())
|
||||
>>> for ana in anagram.itervalues():
|
||||
if len(ana) >= count:
|
||||
print ana
|
||||
|
||||
|
||||
['angel', 'angle', 'galen', 'glean', 'lange']
|
||||
['alger', 'glare', 'lager', 'large', 'regal']
|
||||
['caret', 'carte', 'cater', 'crate', 'trace']
|
||||
['evil', 'levi', 'live', 'veil', 'vile']
|
||||
['elan', 'lane', 'lean', 'lena', 'neal']
|
||||
['abel', 'able', 'bale', 'bela', 'elba']
|
||||
>>> count
|
||||
5
|
||||
>>>
|
||||
22
Task/Anagrams/Python/anagrams-4.py
Normal file
22
Task/Anagrams/Python/anagrams-4.py
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
>>> import urllib, itertools
|
||||
>>> words = urllib.urlopen('http://www.puzzlers.org/pub/wordlists/unixdict.txt').read().split()
|
||||
>>> len(words)
|
||||
25104
|
||||
>>> anagrams = [list(g) for k,g in itertools.groupby(sorted(words, key=sorted), key=sorted)]
|
||||
|
||||
|
||||
>>> count = max(len(ana) for ana in anagrams)
|
||||
>>> for ana in anagrams:
|
||||
if len(ana) >= count:
|
||||
print ana
|
||||
|
||||
|
||||
['abel', 'able', 'bale', 'bela', 'elba']
|
||||
['caret', 'carte', 'cater', 'crate', 'trace']
|
||||
['angel', 'angle', 'galen', 'glean', 'lange']
|
||||
['alger', 'glare', 'lager', 'large', 'regal']
|
||||
['elan', 'lane', 'lean', 'lena', 'neal']
|
||||
['evil', 'levi', 'live', 'veil', 'vile']
|
||||
>>> count
|
||||
5
|
||||
>>>
|
||||
12
Task/Anagrams/Python/anagrams.py
Normal file
12
Task/Anagrams/Python/anagrams.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
>>> import urllib.request
|
||||
>>> from collections import defaultdict
|
||||
>>> words = urllib.request.urlopen('http://www.puzzlers.org/pub/wordlists/unixdict.txt').read().split()
|
||||
>>> anagram = defaultdict(list) # map sorted chars to anagrams
|
||||
>>> for word in words:
|
||||
anagram[tuple(sorted(word))].append( word )
|
||||
|
||||
|
||||
>>> count = max(len(ana) for ana in anagram.values())
|
||||
>>> for ana in anagram.values():
|
||||
if len(ana) >= count:
|
||||
print ([x.decode() for x in ana])
|
||||
Loading…
Add table
Add a link
Reference in a new issue