How to apply `Length` in all elements












2












$begingroup$


I want to apply Length in each element from a list.
For example:



My list is: {1,{2,3},{4,5,6}}



How to apply Length in each element of this list?



Length[{1}]
Length[{2,3}]
Length[{4,5,6}]


I have tried to use Thread, but doesn't works:



In[235]:= Thread[Length[{1, {2, 3}, {4, 5, 6}}]]

Out[235]= 3


The result that I want is some like:



1
2
3


Which is the number of elements in each element.










share|improve this question









$endgroup$








  • 2




    $begingroup$
    What in your opinion is the Length of 1? You can use Map: Map[Length, {1, {2, 3}, {4, 5, 6}}].
    $endgroup$
    – Carl Lange
    Jan 22 at 17:45
















2












$begingroup$


I want to apply Length in each element from a list.
For example:



My list is: {1,{2,3},{4,5,6}}



How to apply Length in each element of this list?



Length[{1}]
Length[{2,3}]
Length[{4,5,6}]


I have tried to use Thread, but doesn't works:



In[235]:= Thread[Length[{1, {2, 3}, {4, 5, 6}}]]

Out[235]= 3


The result that I want is some like:



1
2
3


Which is the number of elements in each element.










share|improve this question









$endgroup$








  • 2




    $begingroup$
    What in your opinion is the Length of 1? You can use Map: Map[Length, {1, {2, 3}, {4, 5, 6}}].
    $endgroup$
    – Carl Lange
    Jan 22 at 17:45














2












2








2


1



$begingroup$


I want to apply Length in each element from a list.
For example:



My list is: {1,{2,3},{4,5,6}}



How to apply Length in each element of this list?



Length[{1}]
Length[{2,3}]
Length[{4,5,6}]


I have tried to use Thread, but doesn't works:



In[235]:= Thread[Length[{1, {2, 3}, {4, 5, 6}}]]

Out[235]= 3


The result that I want is some like:



1
2
3


Which is the number of elements in each element.










share|improve this question









$endgroup$




I want to apply Length in each element from a list.
For example:



My list is: {1,{2,3},{4,5,6}}



How to apply Length in each element of this list?



Length[{1}]
Length[{2,3}]
Length[{4,5,6}]


I have tried to use Thread, but doesn't works:



In[235]:= Thread[Length[{1, {2, 3}, {4, 5, 6}}]]

Out[235]= 3


The result that I want is some like:



1
2
3


Which is the number of elements in each element.







functions function-construction






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 22 at 17:40









MateusMateus

56317




56317








  • 2




    $begingroup$
    What in your opinion is the Length of 1? You can use Map: Map[Length, {1, {2, 3}, {4, 5, 6}}].
    $endgroup$
    – Carl Lange
    Jan 22 at 17:45














  • 2




    $begingroup$
    What in your opinion is the Length of 1? You can use Map: Map[Length, {1, {2, 3}, {4, 5, 6}}].
    $endgroup$
    – Carl Lange
    Jan 22 at 17:45








2




2




$begingroup$
What in your opinion is the Length of 1? You can use Map: Map[Length, {1, {2, 3}, {4, 5, 6}}].
$endgroup$
– Carl Lange
Jan 22 at 17:45




$begingroup$
What in your opinion is the Length of 1? You can use Map: Map[Length, {1, {2, 3}, {4, 5, 6}}].
$endgroup$
– Carl Lange
Jan 22 at 17:45










3 Answers
3






active

oldest

votes


















7












$begingroup$

If[AtomQ @ #, 1, Length @ #] & /@ {1, {2, 3}, {4, 5, 6}}



{1, 2, 3}




If the input list does not contain {} (thanks: @corey979), you can also use:



Length /@ {1, {2, 3}, {4, 5, 6}} /. 0 -> 1
(* or Map[Length]@{1, {2, 3}, {4, 5, 6}} /. 0 -> 1 *)



{1, 2, 3}







share|improve this answer











$endgroup$













  • $begingroup$
    Note that the first approach fails on {1, {2, 3}, {}, {4, 5, 6}}. The second, however, works well.
    $endgroup$
    – corey979
    Jan 22 at 18:24










  • $begingroup$
    @corey979, very good point.
    $endgroup$
    – kglr
    Jan 22 at 18:30



















5












$begingroup$

Introduce Charting`padList to make a list for your element..



Length@*Charting`padList /@ {1, {2, 3}, {4, 5, 6}}



{1, 2, 3}







share|improve this answer











$endgroup$









  • 1




    $begingroup$
    Brilliant. Care to elaborate more on Charting`padList?
    $endgroup$
    – corey979
    Jan 22 at 18:22



















0












$begingroup$

A mildly adjusted version of the nice Charting answer by yode is to apply a list to each element and flatten:



Length@Flatten@List@#&/@{1, {2, 3}, {4, 5, 6}}





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
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f190015%2fhow-to-apply-length-in-all-elements%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    7












    $begingroup$

    If[AtomQ @ #, 1, Length @ #] & /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}




    If the input list does not contain {} (thanks: @corey979), you can also use:



    Length /@ {1, {2, 3}, {4, 5, 6}} /. 0 -> 1
    (* or Map[Length]@{1, {2, 3}, {4, 5, 6}} /. 0 -> 1 *)



    {1, 2, 3}







    share|improve this answer











    $endgroup$













    • $begingroup$
      Note that the first approach fails on {1, {2, 3}, {}, {4, 5, 6}}. The second, however, works well.
      $endgroup$
      – corey979
      Jan 22 at 18:24










    • $begingroup$
      @corey979, very good point.
      $endgroup$
      – kglr
      Jan 22 at 18:30
















    7












    $begingroup$

    If[AtomQ @ #, 1, Length @ #] & /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}




    If the input list does not contain {} (thanks: @corey979), you can also use:



    Length /@ {1, {2, 3}, {4, 5, 6}} /. 0 -> 1
    (* or Map[Length]@{1, {2, 3}, {4, 5, 6}} /. 0 -> 1 *)



    {1, 2, 3}







    share|improve this answer











    $endgroup$













    • $begingroup$
      Note that the first approach fails on {1, {2, 3}, {}, {4, 5, 6}}. The second, however, works well.
      $endgroup$
      – corey979
      Jan 22 at 18:24










    • $begingroup$
      @corey979, very good point.
      $endgroup$
      – kglr
      Jan 22 at 18:30














    7












    7








    7





    $begingroup$

    If[AtomQ @ #, 1, Length @ #] & /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}




    If the input list does not contain {} (thanks: @corey979), you can also use:



    Length /@ {1, {2, 3}, {4, 5, 6}} /. 0 -> 1
    (* or Map[Length]@{1, {2, 3}, {4, 5, 6}} /. 0 -> 1 *)



    {1, 2, 3}







    share|improve this answer











    $endgroup$



    If[AtomQ @ #, 1, Length @ #] & /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}




    If the input list does not contain {} (thanks: @corey979), you can also use:



    Length /@ {1, {2, 3}, {4, 5, 6}} /. 0 -> 1
    (* or Map[Length]@{1, {2, 3}, {4, 5, 6}} /. 0 -> 1 *)



    {1, 2, 3}








    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Jan 22 at 19:16

























    answered Jan 22 at 17:44









    kglrkglr

    186k10203422




    186k10203422












    • $begingroup$
      Note that the first approach fails on {1, {2, 3}, {}, {4, 5, 6}}. The second, however, works well.
      $endgroup$
      – corey979
      Jan 22 at 18:24










    • $begingroup$
      @corey979, very good point.
      $endgroup$
      – kglr
      Jan 22 at 18:30


















    • $begingroup$
      Note that the first approach fails on {1, {2, 3}, {}, {4, 5, 6}}. The second, however, works well.
      $endgroup$
      – corey979
      Jan 22 at 18:24










    • $begingroup$
      @corey979, very good point.
      $endgroup$
      – kglr
      Jan 22 at 18:30
















    $begingroup$
    Note that the first approach fails on {1, {2, 3}, {}, {4, 5, 6}}. The second, however, works well.
    $endgroup$
    – corey979
    Jan 22 at 18:24




    $begingroup$
    Note that the first approach fails on {1, {2, 3}, {}, {4, 5, 6}}. The second, however, works well.
    $endgroup$
    – corey979
    Jan 22 at 18:24












    $begingroup$
    @corey979, very good point.
    $endgroup$
    – kglr
    Jan 22 at 18:30




    $begingroup$
    @corey979, very good point.
    $endgroup$
    – kglr
    Jan 22 at 18:30











    5












    $begingroup$

    Introduce Charting`padList to make a list for your element..



    Length@*Charting`padList /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}







    share|improve this answer











    $endgroup$









    • 1




      $begingroup$
      Brilliant. Care to elaborate more on Charting`padList?
      $endgroup$
      – corey979
      Jan 22 at 18:22
















    5












    $begingroup$

    Introduce Charting`padList to make a list for your element..



    Length@*Charting`padList /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}







    share|improve this answer











    $endgroup$









    • 1




      $begingroup$
      Brilliant. Care to elaborate more on Charting`padList?
      $endgroup$
      – corey979
      Jan 22 at 18:22














    5












    5








    5





    $begingroup$

    Introduce Charting`padList to make a list for your element..



    Length@*Charting`padList /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}







    share|improve this answer











    $endgroup$



    Introduce Charting`padList to make a list for your element..



    Length@*Charting`padList /@ {1, {2, 3}, {4, 5, 6}}



    {1, 2, 3}








    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Jan 22 at 18:34

























    answered Jan 22 at 18:13









    yodeyode

    10.3k234101




    10.3k234101








    • 1




      $begingroup$
      Brilliant. Care to elaborate more on Charting`padList?
      $endgroup$
      – corey979
      Jan 22 at 18:22














    • 1




      $begingroup$
      Brilliant. Care to elaborate more on Charting`padList?
      $endgroup$
      – corey979
      Jan 22 at 18:22








    1




    1




    $begingroup$
    Brilliant. Care to elaborate more on Charting`padList?
    $endgroup$
    – corey979
    Jan 22 at 18:22




    $begingroup$
    Brilliant. Care to elaborate more on Charting`padList?
    $endgroup$
    – corey979
    Jan 22 at 18:22











    0












    $begingroup$

    A mildly adjusted version of the nice Charting answer by yode is to apply a list to each element and flatten:



    Length@Flatten@List@#&/@{1, {2, 3}, {4, 5, 6}}





    share|improve this answer









    $endgroup$


















      0












      $begingroup$

      A mildly adjusted version of the nice Charting answer by yode is to apply a list to each element and flatten:



      Length@Flatten@List@#&/@{1, {2, 3}, {4, 5, 6}}





      share|improve this answer









      $endgroup$
















        0












        0








        0





        $begingroup$

        A mildly adjusted version of the nice Charting answer by yode is to apply a list to each element and flatten:



        Length@Flatten@List@#&/@{1, {2, 3}, {4, 5, 6}}





        share|improve this answer









        $endgroup$



        A mildly adjusted version of the nice Charting answer by yode is to apply a list to each element and flatten:



        Length@Flatten@List@#&/@{1, {2, 3}, {4, 5, 6}}






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 23 at 16:42









        Jordan MoxonJordan Moxon

        1




        1






























            draft saved

            draft discarded




















































            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%2f190015%2fhow-to-apply-length-in-all-elements%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

            Mario Kart Wii

            The Binding of Isaac: Rebirth/Afterbirth

            What does “Dominus providebit” mean?