# join lists?

This post is a wiki. Anyone with karma >750 is welcome to improve it.

Hello! Is there a way to join two lists? For example, v=[1,2,3]; w=[4,5,6];

how can I obtain the list z=[1,2,3,4,5,6]? Thank you very much, Francesco

edit retag close merge delete

Sort by ยป oldest newest most voted

This post is a wiki. Anyone with karma >750 is welcome to improve it.

sage: a = [1,2,3]
sage: b = [4,5,6]
sage: z = a+b
sage: z
[1, 2, 3, 4, 5, 6]


Note that you can't subtract them, though:

sage: a-b
Traceback (most recent call last):
...
TypeError: unsupported operand type(s) for -: 'list' and 'list'


This is basically because it's not obvious what to do with [1,2,3]-[4,5], and a fundamental Python principle is to resist the temptation to guess in the face of ambiguity.

It might be helpful to work through a Python tutorial.

more

2

In other words, lists form a semigroup. If you want subtraction you have to go through the Grothendiek construction....

( 2012-02-03 11:45:33 -0500 )edit

In fact, it looks like they're a monoid - sage: [1,2,3]+[] [1, 2, 3]

( 2012-02-03 13:16:30 -0500 )edit