Hacker News new | ask | show | jobs
by wpietri 3941 days ago
Is there some language where [4,6] is the output? That strikes me as serving some use case that I've never come across. Whereas having two lists and wanting to end up with one list with all the elements is a very common need.
4 comments

I believe it would be in Matlab, as [1, 2] + [3, 4] would be considered matrix addition, in which one adds elements in corresponding places. Numpy (as mentioned in the GP) probably does similar.
Ah, ok, thanks. Right, matrix math is is the use case I was looking for.
Yes, python.

   In [1]: import numpy as np

   In [2]: a = np.array([1,2])

   In [3]: b = np.array([3,4])

   In [4]: a+b

   Out[4]: array([4, 6])
we are talking about Lists, not arrays from an unrelated library which has to be installed first. what you've done there is simply dishonest

In [1]: a = [1,2]

In [2]: b = [4,5]

In [3]: print(a+b)

Out [1, 2, 4, 5]

Is there some language where [4,6] is the output?

Yes. Python:

    >>> x = numpy.array([1,2])
    >>> y = numpy.array([3,4])
    >>> x + y
    array([4, 6])
For extra fun:

    >>> x + [3,4]
    array([4, 6])
    >>> [1,2] + y
    array([4, 6])
but, of course:

    >>> [1,2] + [3,4]
    [1, 2, 3, 4]
In R:

> a <- array(c(1,2))

> b <- array(c(3,4))

> a + b

[1] 4 6

> class(a + b)

[1] "array"