Help understanding the decisions *behind* python?
duncan.booth at invalid.invalid
Mon Jul 20 19:08:38 CEST 2009
Phillip B Oldham <phillip.oldham at gmail.com> wrote:
> This make a lot more sense to us, and follows the convention from
> other languages. It would also mean chaining methods to manipulate
> lists would be easier:
>>>> x = [2,1,3]
>>>> print x.sort()
>>>> print x
You already have a way to do what you want:
>>> x = [2,1,3]
>>> print sorted(x)
>>> print x
as a bonus you can use 'sorted' to sort any sequence including generators
or tuples, but the result will always be a list: if it was a list method
then you would have to convert the sequence to a list first.
The main reason why you need both lists and tuples is that because a tuple
of immutable objects is itself immutable you can use it as a dictionary
key. You can't use a list as a dictionary key because if something were to
mutate a key the dictionary structure would behave very strangely indeed.
The types 'set' and 'frozenset' both exist for the same reason.
More information about the Python-list