def main(): combos = [] three = ['1','2','3'] four = ['1','2','3','4'] five = ['1','2','3','4','5'] threes = convert(permute(three)) fours = convert(permute(four)) fives = convert(permute(five)) print fives def l2i(input): m = '' for item in input: m = m + item return m def permute( values, perms = list(), cur_perm = list() ): if len( values ) == 0: perms.append( cur_perm ) else: for value in values: new_values = values[:] new_values.remove( value ) new_perm = cur_perm[:] new_perm.append( value ) permute( new_values, cur_perm = new_perm ) return perms def convert(m): n = [] for i in range(0,len(m)): n.append(l2i(m[i])) return n if __name__ == '__main__': main()