On 2013-06-29 19:19, Steven D'Aprano wrote: > Nobody ever asks why Python doesn't let you sort an int, or take > the square of a list...
just to be ornery, you can sort an int: >>> i = 314159265 >>> ''.join(sorted(str(i))) '112345569' And I suppose, depending on how you define it, you can square a list: >>> lst = list('abcd') >>> import itertools >>> list(itertools.product(lst, lst)) [('a', 'a'), ('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'a'), ('b', 'b'), ('b', 'c'), ('b', 'd'), ('c', 'a'), ('c', 'b'), ('c', 'c'), ('c', 'd'), ('d', 'a'), ('d', 'b'), ('d', 'c'), ('d', 'd')] Or, if you want to do it frequently, Python graciously even allows you to do things like >>> class MultiList(list): ... def __pow__(self, power): ... return list(itertools.product(*([self] * power))) ... >>> lst = MultiList("abcd") >>> lst ** 2 [('a', 'a'), ('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'a'), ('b', 'b'), ('b', 'c'), ('b', 'd'), ('c', 'a'), ('c', 'b'), ('c', 'c'), ('c', 'd'), ('d', 'a'), ('d', 'b'), ('d', 'c'), ('d', 'd')] :-) -tkc -- http://mail.python.org/mailman/listinfo/python-list