[EMAIL PROTECTED] wrote: > Hi All, > First, I hope this post isn't against list rules; if so, I'll take note in > the future. > > I'm working on a project for school (it's not homework; just for fun). > For it, I need to make a list of words, starting with 1 character in length, > up to 15 or so. > It would look like: > > A B C d E F G ... Z Aa Ab Ac Ad Ae Aaa Aab Aac > > Etcetera. > > I've looked on Google, and on the python lists at python.org, and haven't > found any code that I can adapt. > I've also tried to adapt some code from Perl, but not knowing the language > very well, I wasn't very successful. > If there is adaptable code on the internet that I've missed, please let me > know, and I'll go on my marry way in search of it. > > Any help would be appreciated. > > Thanks Much, > Brandon McGinty > [EMAIL PROTECTED] > Something to adapt:
alphabet = "abcd" def allwords(maxlength = 4): def wordgen(outer): for partial in outer: yield partial for letter in alphabet: yield partial+letter gen = alphabet for length in range(maxlength-1): gen = wordgen(gen) return gen >>> list(allwords()) ['a', 'aa', 'ab', 'ac', 'ad', 'aa', 'aaa', 'aab', 'aac', 'aad', 'ab', 'aba', 'abb', 'abc', 'abd', 'ac', 'aca', 'acb', 'acc', 'acd', 'ad', 'ada', 'adb', 'adc', 'add', 'aa', 'aaa', 'aab', 'aac', 'aad', 'aaa', 'aaaa', 'aaab', 'aaac', 'aaad', 'aab', 'aaba', 'aabb', 'aabc', 'aabd', 'aac', 'aaca', 'aacb', 'aacc', 'aacd', 'aad', 'aada', 'aadb', 'aadc', 'aadd', 'ab', 'aba', 'abb', 'abc', 'abd', 'aba', 'abaa', 'abab', 'abac', 'abad', 'abb', 'abba', 'abbb', 'abbc', 'abbd', 'abc', 'abca', 'abcb', 'abcc', 'abcd', 'abd', 'abda', 'abdb', 'abdc', ... 'dcdc', 'dcdd', 'dd', 'dda', 'ddb', 'ddc', 'ddd', 'dda', 'ddaa', 'ddab', 'ddac', 'ddad', 'ddb', 'ddba', 'ddbb', 'ddbc', 'ddbd', 'ddc', 'ddca', 'ddcb', 'ddcc', 'ddcd', 'ddd', 'ddda', 'dddb', 'dddc', 'dddd'] If you want the list sorted by length, as in your example: >>> sorted(_, key=len) ['a', 'b', 'c', 'd', 'aa', 'ab', 'ac', 'ad', 'aa', 'ab', 'ac', 'ad', 'aa', 'ab', 'ac', 'ad', 'ba', 'bb', 'bc', 'bd', 'ba', 'bb', 'bc', 'bd', 'ba', 'bb', 'bc', 'bd', 'ca', 'cb', 'cc', 'cd', 'ca', 'cb', 'cc', 'cd', 'ca', 'cb', 'cc', 'cd', 'da', 'db', 'dc', 'dd', 'da', 'db', 'dc', 'dd', 'da', 'db', 'dc', 'dd', 'aaa', 'aab', 'aac', 'aad', 'aba', 'abb', 'abc', 'abd', 'aca', 'acb', 'acc', 'acd', 'ada', 'adb', 'adc', 'add', 'aaa', 'aab', 'aac', 'aad', 'aaa', 'aab', 'aac', 'aad', 'aba', 'abb', 'abc', 'abd', 'aba', 'abb', 'abc', 'abd', 'aca', HTH Michael -- http://mail.python.org/mailman/listinfo/python-list