Generating a list with duplicate entries












5












$begingroup$


How can I get a function that gives the following output?



listX = {a, b, c, d}
numberX = 3
myDuplicatesList[listX, numberX]



{{a,a,a},{b,b,b},{c,c,c},{d,d,d}}











share|improve this question









New contributor




lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$








  • 4




    $begingroup$
    Wolfram Challenges.
    $endgroup$
    – J. M. is computer-less
    11 hours ago
















5












$begingroup$


How can I get a function that gives the following output?



listX = {a, b, c, d}
numberX = 3
myDuplicatesList[listX, numberX]



{{a,a,a},{b,b,b},{c,c,c},{d,d,d}}











share|improve this question









New contributor




lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$








  • 4




    $begingroup$
    Wolfram Challenges.
    $endgroup$
    – J. M. is computer-less
    11 hours ago














5












5








5





$begingroup$


How can I get a function that gives the following output?



listX = {a, b, c, d}
numberX = 3
myDuplicatesList[listX, numberX]



{{a,a,a},{b,b,b},{c,c,c},{d,d,d}}











share|improve this question









New contributor




lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




How can I get a function that gives the following output?



listX = {a, b, c, d}
numberX = 3
myDuplicatesList[listX, numberX]



{{a,a,a},{b,b,b},{c,c,c},{d,d,d}}








list-manipulation






share|improve this question









New contributor




lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 12 hours ago









MarcoB

37.2k556113




37.2k556113






New contributor




lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 12 hours ago









lisalisa

261




261




New contributor




lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






lisa is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 4




    $begingroup$
    Wolfram Challenges.
    $endgroup$
    – J. M. is computer-less
    11 hours ago














  • 4




    $begingroup$
    Wolfram Challenges.
    $endgroup$
    – J. M. is computer-less
    11 hours ago








4




4




$begingroup$
Wolfram Challenges.
$endgroup$
– J. M. is computer-less
11 hours ago




$begingroup$
Wolfram Challenges.
$endgroup$
– J. M. is computer-less
11 hours ago










7 Answers
7






active

oldest

votes


















5












$begingroup$

Alternatively:



listX = {a, b, c};
numberX = 3;
Table[ConstantArray[i, numberX], {i, listX}]



{{a, a, a}, { b, b, b}, {c, c, c}}




Or:



listX = {a, b, c, d};
numberX = 3;

Transpose@Table[i, {numberX}, {i, listX}]





share|improve this answer











$endgroup$









  • 1




    $begingroup$
    Or ConstantArray[#, numberX] & /@ listX
    $endgroup$
    – Bob Hanlon
    9 hours ago



















4












$begingroup$

I like using KroneckerProduct for problems like this:



KroneckerProduct[listX, ConstantArray[1, numberX]]



{{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




The KroneckerProduct approach should be much faster than the others for large vectors.






share|improve this answer









$endgroup$





















    3












    $begingroup$

    one way might be



    listX    = {a, b, c, d}
    numberX = 3
    Transpose[{listX}].{Table[1, {numberX}]}


    Mathematica graphics






    share|improve this answer









    $endgroup$





















      3












      $begingroup$

      Transpose@ConstantArray[listX, numberX]



      {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







      share|improve this answer









      $endgroup$





















        2












        $begingroup$

        Array:



        Array[listX &, numberX, 1, Transpose[{##}] &]



        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




        ArrayPad:



        ArrayPad[List /@ listX, {0, {0, numberX - 1}}, "Fixed"]



        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




        PadRight:



        PadRight[{#}, numberX, "Fixed"] & /@ listX  )* or *)
        PadRight[List /@ listX, {Automatic, numberX}, "Fixed"]



        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




        TensorProduct:



        TensorProduct[listX, Array[1 &, numberX]]



        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




        ArrayResample:



        ArrayResample[listX, Scaled @ numberX , "Bin", Resampling -> "NearestLeft"]



        {a, a, a, b, b, b, c, c, c, d, d, d}




        Partition[%, numberX]



        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







        share|improve this answer











        $endgroup$





















          1












          $begingroup$

          Yet Another Way:



          Flatten[ConstantArray[{listX}, numberX], {2, 3}]


          And another (the last argument 1 is necessary only when listX is not a flat list):



          Outer[Times, listX, ConstantArray[1, numberX], 1]





          share|improve this answer









          $endgroup$





















            0












            $begingroup$

            Transpose[{listX}[[ConstantArray[1, numberX]]]]





            share|improve this answer









            $endgroup$













              Your Answer





              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("mathjaxEditing", function () {
              StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
              StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
              });
              });
              }, "mathjax-editing");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "387"
              };
              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: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              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
              });


              }
              });






              lisa is a new contributor. Be nice, and check out our Code of Conduct.










              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f192880%2fgenerating-a-list-with-duplicate-entries%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              7 Answers
              7






              active

              oldest

              votes








              7 Answers
              7






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              5












              $begingroup$

              Alternatively:



              listX = {a, b, c};
              numberX = 3;
              Table[ConstantArray[i, numberX], {i, listX}]



              {{a, a, a}, { b, b, b}, {c, c, c}}




              Or:



              listX = {a, b, c, d};
              numberX = 3;

              Transpose@Table[i, {numberX}, {i, listX}]





              share|improve this answer











              $endgroup$









              • 1




                $begingroup$
                Or ConstantArray[#, numberX] & /@ listX
                $endgroup$
                – Bob Hanlon
                9 hours ago
















              5












              $begingroup$

              Alternatively:



              listX = {a, b, c};
              numberX = 3;
              Table[ConstantArray[i, numberX], {i, listX}]



              {{a, a, a}, { b, b, b}, {c, c, c}}




              Or:



              listX = {a, b, c, d};
              numberX = 3;

              Transpose@Table[i, {numberX}, {i, listX}]





              share|improve this answer











              $endgroup$









              • 1




                $begingroup$
                Or ConstantArray[#, numberX] & /@ listX
                $endgroup$
                – Bob Hanlon
                9 hours ago














              5












              5








              5





              $begingroup$

              Alternatively:



              listX = {a, b, c};
              numberX = 3;
              Table[ConstantArray[i, numberX], {i, listX}]



              {{a, a, a}, { b, b, b}, {c, c, c}}




              Or:



              listX = {a, b, c, d};
              numberX = 3;

              Transpose@Table[i, {numberX}, {i, listX}]





              share|improve this answer











              $endgroup$



              Alternatively:



              listX = {a, b, c};
              numberX = 3;
              Table[ConstantArray[i, numberX], {i, listX}]



              {{a, a, a}, { b, b, b}, {c, c, c}}




              Or:



              listX = {a, b, c, d};
              numberX = 3;

              Transpose@Table[i, {numberX}, {i, listX}]






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited 10 hours ago

























              answered 11 hours ago









              MarcoBMarcoB

              37.2k556113




              37.2k556113








              • 1




                $begingroup$
                Or ConstantArray[#, numberX] & /@ listX
                $endgroup$
                – Bob Hanlon
                9 hours ago














              • 1




                $begingroup$
                Or ConstantArray[#, numberX] & /@ listX
                $endgroup$
                – Bob Hanlon
                9 hours ago








              1




              1




              $begingroup$
              Or ConstantArray[#, numberX] & /@ listX
              $endgroup$
              – Bob Hanlon
              9 hours ago




              $begingroup$
              Or ConstantArray[#, numberX] & /@ listX
              $endgroup$
              – Bob Hanlon
              9 hours ago











              4












              $begingroup$

              I like using KroneckerProduct for problems like this:



              KroneckerProduct[listX, ConstantArray[1, numberX]]



              {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




              The KroneckerProduct approach should be much faster than the others for large vectors.






              share|improve this answer









              $endgroup$


















                4












                $begingroup$

                I like using KroneckerProduct for problems like this:



                KroneckerProduct[listX, ConstantArray[1, numberX]]



                {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                The KroneckerProduct approach should be much faster than the others for large vectors.






                share|improve this answer









                $endgroup$
















                  4












                  4








                  4





                  $begingroup$

                  I like using KroneckerProduct for problems like this:



                  KroneckerProduct[listX, ConstantArray[1, numberX]]



                  {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                  The KroneckerProduct approach should be much faster than the others for large vectors.






                  share|improve this answer









                  $endgroup$



                  I like using KroneckerProduct for problems like this:



                  KroneckerProduct[listX, ConstantArray[1, numberX]]



                  {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                  The KroneckerProduct approach should be much faster than the others for large vectors.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 10 hours ago









                  Carl WollCarl Woll

                  69.6k394180




                  69.6k394180























                      3












                      $begingroup$

                      one way might be



                      listX    = {a, b, c, d}
                      numberX = 3
                      Transpose[{listX}].{Table[1, {numberX}]}


                      Mathematica graphics






                      share|improve this answer









                      $endgroup$


















                        3












                        $begingroup$

                        one way might be



                        listX    = {a, b, c, d}
                        numberX = 3
                        Transpose[{listX}].{Table[1, {numberX}]}


                        Mathematica graphics






                        share|improve this answer









                        $endgroup$
















                          3












                          3








                          3





                          $begingroup$

                          one way might be



                          listX    = {a, b, c, d}
                          numberX = 3
                          Transpose[{listX}].{Table[1, {numberX}]}


                          Mathematica graphics






                          share|improve this answer









                          $endgroup$



                          one way might be



                          listX    = {a, b, c, d}
                          numberX = 3
                          Transpose[{listX}].{Table[1, {numberX}]}


                          Mathematica graphics







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 12 hours ago









                          NasserNasser

                          58.1k489206




                          58.1k489206























                              3












                              $begingroup$

                              Transpose@ConstantArray[listX, numberX]



                              {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







                              share|improve this answer









                              $endgroup$


















                                3












                                $begingroup$

                                Transpose@ConstantArray[listX, numberX]



                                {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







                                share|improve this answer









                                $endgroup$
















                                  3












                                  3








                                  3





                                  $begingroup$

                                  Transpose@ConstantArray[listX, numberX]



                                  {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







                                  share|improve this answer









                                  $endgroup$



                                  Transpose@ConstantArray[listX, numberX]



                                  {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}








                                  share|improve this answer












                                  share|improve this answer



                                  share|improve this answer










                                  answered 11 hours ago









                                  RomanRoman

                                  2,735717




                                  2,735717























                                      2












                                      $begingroup$

                                      Array:



                                      Array[listX &, numberX, 1, Transpose[{##}] &]



                                      {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                      ArrayPad:



                                      ArrayPad[List /@ listX, {0, {0, numberX - 1}}, "Fixed"]



                                      {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                      PadRight:



                                      PadRight[{#}, numberX, "Fixed"] & /@ listX  )* or *)
                                      PadRight[List /@ listX, {Automatic, numberX}, "Fixed"]



                                      {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                      TensorProduct:



                                      TensorProduct[listX, Array[1 &, numberX]]



                                      {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                      ArrayResample:



                                      ArrayResample[listX, Scaled @ numberX , "Bin", Resampling -> "NearestLeft"]



                                      {a, a, a, b, b, b, c, c, c, d, d, d}




                                      Partition[%, numberX]



                                      {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







                                      share|improve this answer











                                      $endgroup$


















                                        2












                                        $begingroup$

                                        Array:



                                        Array[listX &, numberX, 1, Transpose[{##}] &]



                                        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                        ArrayPad:



                                        ArrayPad[List /@ listX, {0, {0, numberX - 1}}, "Fixed"]



                                        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                        PadRight:



                                        PadRight[{#}, numberX, "Fixed"] & /@ listX  )* or *)
                                        PadRight[List /@ listX, {Automatic, numberX}, "Fixed"]



                                        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                        TensorProduct:



                                        TensorProduct[listX, Array[1 &, numberX]]



                                        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                        ArrayResample:



                                        ArrayResample[listX, Scaled @ numberX , "Bin", Resampling -> "NearestLeft"]



                                        {a, a, a, b, b, b, c, c, c, d, d, d}




                                        Partition[%, numberX]



                                        {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







                                        share|improve this answer











                                        $endgroup$
















                                          2












                                          2








                                          2





                                          $begingroup$

                                          Array:



                                          Array[listX &, numberX, 1, Transpose[{##}] &]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          ArrayPad:



                                          ArrayPad[List /@ listX, {0, {0, numberX - 1}}, "Fixed"]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          PadRight:



                                          PadRight[{#}, numberX, "Fixed"] & /@ listX  )* or *)
                                          PadRight[List /@ listX, {Automatic, numberX}, "Fixed"]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          TensorProduct:



                                          TensorProduct[listX, Array[1 &, numberX]]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          ArrayResample:



                                          ArrayResample[listX, Scaled @ numberX , "Bin", Resampling -> "NearestLeft"]



                                          {a, a, a, b, b, b, c, c, c, d, d, d}




                                          Partition[%, numberX]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}







                                          share|improve this answer











                                          $endgroup$



                                          Array:



                                          Array[listX &, numberX, 1, Transpose[{##}] &]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          ArrayPad:



                                          ArrayPad[List /@ listX, {0, {0, numberX - 1}}, "Fixed"]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          PadRight:



                                          PadRight[{#}, numberX, "Fixed"] & /@ listX  )* or *)
                                          PadRight[List /@ listX, {Automatic, numberX}, "Fixed"]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          TensorProduct:



                                          TensorProduct[listX, Array[1 &, numberX]]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}




                                          ArrayResample:



                                          ArrayResample[listX, Scaled @ numberX , "Bin", Resampling -> "NearestLeft"]



                                          {a, a, a, b, b, b, c, c, c, d, d, d}




                                          Partition[%, numberX]



                                          {{a, a, a}, {b, b, b}, {c, c, c}, {d, d, d}}








                                          share|improve this answer














                                          share|improve this answer



                                          share|improve this answer








                                          edited 4 hours ago

























                                          answered 4 hours ago









                                          kglrkglr

                                          187k10203421




                                          187k10203421























                                              1












                                              $begingroup$

                                              Yet Another Way:



                                              Flatten[ConstantArray[{listX}, numberX], {2, 3}]


                                              And another (the last argument 1 is necessary only when listX is not a flat list):



                                              Outer[Times, listX, ConstantArray[1, numberX], 1]





                                              share|improve this answer









                                              $endgroup$


















                                                1












                                                $begingroup$

                                                Yet Another Way:



                                                Flatten[ConstantArray[{listX}, numberX], {2, 3}]


                                                And another (the last argument 1 is necessary only when listX is not a flat list):



                                                Outer[Times, listX, ConstantArray[1, numberX], 1]





                                                share|improve this answer









                                                $endgroup$
















                                                  1












                                                  1








                                                  1





                                                  $begingroup$

                                                  Yet Another Way:



                                                  Flatten[ConstantArray[{listX}, numberX], {2, 3}]


                                                  And another (the last argument 1 is necessary only when listX is not a flat list):



                                                  Outer[Times, listX, ConstantArray[1, numberX], 1]





                                                  share|improve this answer









                                                  $endgroup$



                                                  Yet Another Way:



                                                  Flatten[ConstantArray[{listX}, numberX], {2, 3}]


                                                  And another (the last argument 1 is necessary only when listX is not a flat list):



                                                  Outer[Times, listX, ConstantArray[1, numberX], 1]






                                                  share|improve this answer












                                                  share|improve this answer



                                                  share|improve this answer










                                                  answered 2 hours ago









                                                  Michael E2Michael E2

                                                  148k12198477




                                                  148k12198477























                                                      0












                                                      $begingroup$

                                                      Transpose[{listX}[[ConstantArray[1, numberX]]]]





                                                      share|improve this answer









                                                      $endgroup$


















                                                        0












                                                        $begingroup$

                                                        Transpose[{listX}[[ConstantArray[1, numberX]]]]





                                                        share|improve this answer









                                                        $endgroup$
















                                                          0












                                                          0








                                                          0





                                                          $begingroup$

                                                          Transpose[{listX}[[ConstantArray[1, numberX]]]]





                                                          share|improve this answer









                                                          $endgroup$



                                                          Transpose[{listX}[[ConstantArray[1, numberX]]]]






                                                          share|improve this answer












                                                          share|improve this answer



                                                          share|improve this answer










                                                          answered 11 hours ago









                                                          Henrik SchumacherHenrik Schumacher

                                                          55.7k576154




                                                          55.7k576154






















                                                              lisa is a new contributor. Be nice, and check out our Code of Conduct.










                                                              draft saved

                                                              draft discarded


















                                                              lisa is a new contributor. Be nice, and check out our Code of Conduct.













                                                              lisa is a new contributor. Be nice, and check out our Code of Conduct.












                                                              lisa is a new contributor. Be nice, and check out our Code of Conduct.
















                                                              Thanks for contributing an answer to Mathematica Stack Exchange!


                                                              • 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.


                                                              Use MathJax to format equations. MathJax reference.


                                                              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%2fmathematica.stackexchange.com%2fquestions%2f192880%2fgenerating-a-list-with-duplicate-entries%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







                                                              Popular posts from this blog

                                                              Paul Cézanne

                                                              UIScrollView CustomStickyHeader Resize height generates problems when scroll is too fast

                                                              Angular material date-picker (MatDatepicker) auto completes the date on focus out