append on lists
clp at rebertia.com
Tue Sep 16 10:15:08 CEST 2008
On Tue, Sep 16, 2008 at 1:20 AM, Armin <a at nospam.org> wrote:
> John Machin wrote:
>> On Sep 16, 6:45 am, Armin <a... at nospam.org> wrote:
>>> Yes, but this is very unconvenient.
>>> If d should reference the list a extended with a single list element
>>> you need at least two lines
>>> and not more intuitive d = a.append(7)
>> Methods/functions which return a value other than the formal None and
>> also mutate their environment are "a snare and a delusion". Don't wish
>> for them.
> c = [9,10]
> [1,2,3,4,7].append(c) -> Is this a valid expression?
Literally, no, because you can't call methods on literals.
However, the sentiment is valid, though probably not what you want:
>>> c = [9,10]
>>> a = [1,2,3,4,7]
>>> b = a[:]
>>> a #note the nested list
[1, 2, 3, 4, 7, [9, 10]]
[1, 2, 3, 4, 7]
[1, 2, 3, 4, 7, 9, 10]
> The 'value' of that expression is None.
> However ... that's the way of the implementation of the append method.
> It's a little bit confusing to me ...
> Thanks to all !
>> Inconvenient? How often do you want to mutate a list and then set up
>> another reference to it?
Follow the path of the Iguana...
More information about the Python-list