Initialize 2d array with variable size












4















Using the following method:



myArray = [0,1] * NUM_ITEMS


Desired result (2d array):



[[0,1],[0,1],[0,1]...]


Actual result (extended 1d array):



[0,1,0,1,0,1...]


How can I achieve the desired result preferably without using numpy?










share|improve this question


















  • 6





    Before someone suggests [[0, 1]]*NUM_ITEMS, no, that doesn't work, even if it looks like it does.

    – user2357112
    Nov 20 '18 at 22:09
















4















Using the following method:



myArray = [0,1] * NUM_ITEMS


Desired result (2d array):



[[0,1],[0,1],[0,1]...]


Actual result (extended 1d array):



[0,1,0,1,0,1...]


How can I achieve the desired result preferably without using numpy?










share|improve this question


















  • 6





    Before someone suggests [[0, 1]]*NUM_ITEMS, no, that doesn't work, even if it looks like it does.

    – user2357112
    Nov 20 '18 at 22:09














4












4








4








Using the following method:



myArray = [0,1] * NUM_ITEMS


Desired result (2d array):



[[0,1],[0,1],[0,1]...]


Actual result (extended 1d array):



[0,1,0,1,0,1...]


How can I achieve the desired result preferably without using numpy?










share|improve this question














Using the following method:



myArray = [0,1] * NUM_ITEMS


Desired result (2d array):



[[0,1],[0,1],[0,1]...]


Actual result (extended 1d array):



[0,1,0,1,0,1...]


How can I achieve the desired result preferably without using numpy?







python multidimensional-array






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 20 '18 at 22:07









A__A__

4521518




4521518








  • 6





    Before someone suggests [[0, 1]]*NUM_ITEMS, no, that doesn't work, even if it looks like it does.

    – user2357112
    Nov 20 '18 at 22:09














  • 6





    Before someone suggests [[0, 1]]*NUM_ITEMS, no, that doesn't work, even if it looks like it does.

    – user2357112
    Nov 20 '18 at 22:09








6




6





Before someone suggests [[0, 1]]*NUM_ITEMS, no, that doesn't work, even if it looks like it does.

– user2357112
Nov 20 '18 at 22:09





Before someone suggests [[0, 1]]*NUM_ITEMS, no, that doesn't work, even if it looks like it does.

– user2357112
Nov 20 '18 at 22:09












2 Answers
2






active

oldest

votes


















5














A list comprehension should do the trick:



>>> NUM_ITEMS = 5
>>> my_array = [[0, 1] for _ in range(NUM_ITEMS)]
>>> my_array
[[0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]





share|improve this answer
























  • Huh, interesting thanks.

    – A__
    Nov 20 '18 at 22:10



















1














Since you tagged arrays, here's an alternative numpy solution using numpy.tile.



>>> import numpy as np
>>> NUM_ITEMS = 10
>>> np.tile([0, 1], (NUM_ITEMS, 1))
array([[0, 1],
[0, 1],
[0, 1],
[0, 1],
[0, 1],
[0, 1],
[0, 1],
[0, 1],
[0, 1],
[0, 1]])





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402325%2finitialize-2d-array-with-variable-size%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    5














    A list comprehension should do the trick:



    >>> NUM_ITEMS = 5
    >>> my_array = [[0, 1] for _ in range(NUM_ITEMS)]
    >>> my_array
    [[0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]





    share|improve this answer
























    • Huh, interesting thanks.

      – A__
      Nov 20 '18 at 22:10
















    5














    A list comprehension should do the trick:



    >>> NUM_ITEMS = 5
    >>> my_array = [[0, 1] for _ in range(NUM_ITEMS)]
    >>> my_array
    [[0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]





    share|improve this answer
























    • Huh, interesting thanks.

      – A__
      Nov 20 '18 at 22:10














    5












    5








    5







    A list comprehension should do the trick:



    >>> NUM_ITEMS = 5
    >>> my_array = [[0, 1] for _ in range(NUM_ITEMS)]
    >>> my_array
    [[0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]





    share|improve this answer













    A list comprehension should do the trick:



    >>> NUM_ITEMS = 5
    >>> my_array = [[0, 1] for _ in range(NUM_ITEMS)]
    >>> my_array
    [[0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Nov 20 '18 at 22:08









    chrischris

    898814




    898814













    • Huh, interesting thanks.

      – A__
      Nov 20 '18 at 22:10



















    • Huh, interesting thanks.

      – A__
      Nov 20 '18 at 22:10

















    Huh, interesting thanks.

    – A__
    Nov 20 '18 at 22:10





    Huh, interesting thanks.

    – A__
    Nov 20 '18 at 22:10













    1














    Since you tagged arrays, here's an alternative numpy solution using numpy.tile.



    >>> import numpy as np
    >>> NUM_ITEMS = 10
    >>> np.tile([0, 1], (NUM_ITEMS, 1))
    array([[0, 1],
    [0, 1],
    [0, 1],
    [0, 1],
    [0, 1],
    [0, 1],
    [0, 1],
    [0, 1],
    [0, 1],
    [0, 1]])





    share|improve this answer




























      1














      Since you tagged arrays, here's an alternative numpy solution using numpy.tile.



      >>> import numpy as np
      >>> NUM_ITEMS = 10
      >>> np.tile([0, 1], (NUM_ITEMS, 1))
      array([[0, 1],
      [0, 1],
      [0, 1],
      [0, 1],
      [0, 1],
      [0, 1],
      [0, 1],
      [0, 1],
      [0, 1],
      [0, 1]])





      share|improve this answer


























        1












        1








        1







        Since you tagged arrays, here's an alternative numpy solution using numpy.tile.



        >>> import numpy as np
        >>> NUM_ITEMS = 10
        >>> np.tile([0, 1], (NUM_ITEMS, 1))
        array([[0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1]])





        share|improve this answer













        Since you tagged arrays, here's an alternative numpy solution using numpy.tile.



        >>> import numpy as np
        >>> NUM_ITEMS = 10
        >>> np.tile([0, 1], (NUM_ITEMS, 1))
        array([[0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1],
        [0, 1]])






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 20 '18 at 22:19









        timgebtimgeb

        51k116693




        51k116693






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402325%2finitialize-2d-array-with-variable-size%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            Xamarin.form Move up view when keyboard appear

            Post-Redirect-Get with Spring WebFlux and Thymeleaf

            Anylogic : not able to use stopDelay()