How to reverse every other sublist of a list?How can the lowest non-zero value in a nested list be found and its position in the sublist returned?Comparing elements of the $n^textth$ sublist in a ragged list with the $n^textth$ member of a sequenceSublist inside simple listHow to split list into disjoint lists?Selecting every last element of a nested listAdd elements of one list to sublists of another listEliminating elements from sublists under a global conditionRemove the right sublistList manipulation - adding last element of sublist to each sublistHow to partition a 1D list according to specified lengths?

How should I tell my manager I'm not paying for an optional after work event I'm not going to?

Fender hot rod deluxe connected to speaker simulator diagram

Why is "breaking the mould" positively connoted?

Wrong answer from DSolve when solving a differential equation

What is a smasher?

Could the black hole photo be a gravastar?

Did we get closer to another plane than we were supposed to, or was the pilot just protecting our delicate sensibilities?

How can internet speed be 10 times slower without a router than when using a router?

Decoupling cap routing on a 4 layer PCB

Should I just decline the job offer?

How does this change to the opportunity attack rule impact combat?

My rubber roof has developed a leak. Can it be fixed?

Can I use a fetch land to shuffle my deck while the opponent has Ashiok, Dream Render in play?

How can I get people to remember my character's gender?

What are the differences between credential stuffing and password spraying?

ZSPL language, anyone heard of it?

Frequency of specific viral sequence in .BAM or .fastq

Something that can be activated/enabled

Pressure inside an infinite ocean?

My advisor talks about me to his colleague

Should homeowners insurance cover the cost of the home?

Appropriate certificate to ask for a fibre installation (ANSI/TIA-568.3-D?)

Why wasn't the Night King naked in S08E03?

Where can I go to avoid planes overhead?



How to reverse every other sublist of a list?


How can the lowest non-zero value in a nested list be found and its position in the sublist returned?Comparing elements of the $n^textth$ sublist in a ragged list with the $n^textth$ member of a sequenceSublist inside simple listHow to split list into disjoint lists?Selecting every last element of a nested listAdd elements of one list to sublists of another listEliminating elements from sublists under a global conditionRemove the right sublistList manipulation - adding last element of sublist to each sublistHow to partition a 1D list according to specified lengths?













5












$begingroup$


I have a list with sublists list = 1, 2, 3, 4, 5, 6, 7, 8. I would like to reverse every other sublist, starting from the second one. The result would look like result = 1, 2, 4, 3, 5, 6, 8, 7. What would be a simple way to do this?










share|improve this question









$endgroup$
















    5












    $begingroup$


    I have a list with sublists list = 1, 2, 3, 4, 5, 6, 7, 8. I would like to reverse every other sublist, starting from the second one. The result would look like result = 1, 2, 4, 3, 5, 6, 8, 7. What would be a simple way to do this?










    share|improve this question









    $endgroup$














      5












      5








      5


      2



      $begingroup$


      I have a list with sublists list = 1, 2, 3, 4, 5, 6, 7, 8. I would like to reverse every other sublist, starting from the second one. The result would look like result = 1, 2, 4, 3, 5, 6, 8, 7. What would be a simple way to do this?










      share|improve this question









      $endgroup$




      I have a list with sublists list = 1, 2, 3, 4, 5, 6, 7, 8. I would like to reverse every other sublist, starting from the second one. The result would look like result = 1, 2, 4, 3, 5, 6, 8, 7. What would be a simple way to do this?







      list-manipulation






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 9 at 20:32









      nanjunnanjun

      45129




      45129




















          4 Answers
          4






          active

          oldest

          votes


















          13












          $begingroup$

          Use MapAt, which accepts the same syntax as Part:



          MapAt[Reverse, list, 2 ;; ;; 2]
          (* 1, 2, 4, 3, 5, 6, 8, 7 *)





          share|improve this answer









          $endgroup$




















            9












            $begingroup$

            Using Part and Span might not seem overly elegant but it is fast:



            list = RandomReal[-1, 1, 100000, 10];

            a = MapAt[Reverse, list, 2 ;; ;; 2]; // RepeatedTiming // First

            b = ReplacePart[list, i_?EvenQ :> Reverse@list[[i]]]; // RepeatedTiming // First

            c = Module[result = list,
            result[[2 ;; ;; 2]] = list[[2 ;; ;; 2, -1 ;; 1 ;; -1]];
            result
            ]; // RepeatedTiming // First

            a == b == c



            0.11



            0.317



            0.0036



            True







            share|improve this answer











            $endgroup$








            • 2




              $begingroup$
              A bit cleaner, s/b comparable in speed: Riffle[list[[;; ;; 2]], list[[2 ;; ;; 2, -1 ;; 1 ;; -1]]]
              $endgroup$
              – ciao
              Apr 10 at 21:00


















            4












            $begingroup$

            Another method is to use ReplacePart:



            ReplacePart[1, 2, 3, 4, 5, 6, 7, 8,
            i_ ? EvenQ :> Reverse@list[[i]]
            ]
            (* 1,2,4,3,5,6,8,7 *)





            share|improve this answer









            $endgroup$




















              3












              $begingroup$

              This will work



              list = 1, 2, 3, 4, 5, 6, 7, 8;

              Table[If[EvenQ[i], Reverse[list[[i]]], list[[i]]], i, 1, Length[list]]

              (*1, 2, 4, 3, 5, 6, 8, 7*)
              ```





              share|improve this answer









              $endgroup$













                Your Answer








                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%2f194901%2fhow-to-reverse-every-other-sublist-of-a-list%23new-answer', 'question_page');

                );

                Post as a guest















                Required, but never shown

























                4 Answers
                4






                active

                oldest

                votes








                4 Answers
                4






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                13












                $begingroup$

                Use MapAt, which accepts the same syntax as Part:



                MapAt[Reverse, list, 2 ;; ;; 2]
                (* 1, 2, 4, 3, 5, 6, 8, 7 *)





                share|improve this answer









                $endgroup$

















                  13












                  $begingroup$

                  Use MapAt, which accepts the same syntax as Part:



                  MapAt[Reverse, list, 2 ;; ;; 2]
                  (* 1, 2, 4, 3, 5, 6, 8, 7 *)





                  share|improve this answer









                  $endgroup$















                    13












                    13








                    13





                    $begingroup$

                    Use MapAt, which accepts the same syntax as Part:



                    MapAt[Reverse, list, 2 ;; ;; 2]
                    (* 1, 2, 4, 3, 5, 6, 8, 7 *)





                    share|improve this answer









                    $endgroup$



                    Use MapAt, which accepts the same syntax as Part:



                    MapAt[Reverse, list, 2 ;; ;; 2]
                    (* 1, 2, 4, 3, 5, 6, 8, 7 *)






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Apr 9 at 20:33









                    marchmarch

                    17.7k22870




                    17.7k22870





















                        9












                        $begingroup$

                        Using Part and Span might not seem overly elegant but it is fast:



                        list = RandomReal[-1, 1, 100000, 10];

                        a = MapAt[Reverse, list, 2 ;; ;; 2]; // RepeatedTiming // First

                        b = ReplacePart[list, i_?EvenQ :> Reverse@list[[i]]]; // RepeatedTiming // First

                        c = Module[result = list,
                        result[[2 ;; ;; 2]] = list[[2 ;; ;; 2, -1 ;; 1 ;; -1]];
                        result
                        ]; // RepeatedTiming // First

                        a == b == c



                        0.11



                        0.317



                        0.0036



                        True







                        share|improve this answer











                        $endgroup$








                        • 2




                          $begingroup$
                          A bit cleaner, s/b comparable in speed: Riffle[list[[;; ;; 2]], list[[2 ;; ;; 2, -1 ;; 1 ;; -1]]]
                          $endgroup$
                          – ciao
                          Apr 10 at 21:00















                        9












                        $begingroup$

                        Using Part and Span might not seem overly elegant but it is fast:



                        list = RandomReal[-1, 1, 100000, 10];

                        a = MapAt[Reverse, list, 2 ;; ;; 2]; // RepeatedTiming // First

                        b = ReplacePart[list, i_?EvenQ :> Reverse@list[[i]]]; // RepeatedTiming // First

                        c = Module[result = list,
                        result[[2 ;; ;; 2]] = list[[2 ;; ;; 2, -1 ;; 1 ;; -1]];
                        result
                        ]; // RepeatedTiming // First

                        a == b == c



                        0.11



                        0.317



                        0.0036



                        True







                        share|improve this answer











                        $endgroup$








                        • 2




                          $begingroup$
                          A bit cleaner, s/b comparable in speed: Riffle[list[[;; ;; 2]], list[[2 ;; ;; 2, -1 ;; 1 ;; -1]]]
                          $endgroup$
                          – ciao
                          Apr 10 at 21:00













                        9












                        9








                        9





                        $begingroup$

                        Using Part and Span might not seem overly elegant but it is fast:



                        list = RandomReal[-1, 1, 100000, 10];

                        a = MapAt[Reverse, list, 2 ;; ;; 2]; // RepeatedTiming // First

                        b = ReplacePart[list, i_?EvenQ :> Reverse@list[[i]]]; // RepeatedTiming // First

                        c = Module[result = list,
                        result[[2 ;; ;; 2]] = list[[2 ;; ;; 2, -1 ;; 1 ;; -1]];
                        result
                        ]; // RepeatedTiming // First

                        a == b == c



                        0.11



                        0.317



                        0.0036



                        True







                        share|improve this answer











                        $endgroup$



                        Using Part and Span might not seem overly elegant but it is fast:



                        list = RandomReal[-1, 1, 100000, 10];

                        a = MapAt[Reverse, list, 2 ;; ;; 2]; // RepeatedTiming // First

                        b = ReplacePart[list, i_?EvenQ :> Reverse@list[[i]]]; // RepeatedTiming // First

                        c = Module[result = list,
                        result[[2 ;; ;; 2]] = list[[2 ;; ;; 2, -1 ;; 1 ;; -1]];
                        result
                        ]; // RepeatedTiming // First

                        a == b == c



                        0.11



                        0.317



                        0.0036



                        True








                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Apr 10 at 6:12

























                        answered Apr 9 at 21:24









                        Henrik SchumacherHenrik Schumacher

                        61.4k585171




                        61.4k585171







                        • 2




                          $begingroup$
                          A bit cleaner, s/b comparable in speed: Riffle[list[[;; ;; 2]], list[[2 ;; ;; 2, -1 ;; 1 ;; -1]]]
                          $endgroup$
                          – ciao
                          Apr 10 at 21:00












                        • 2




                          $begingroup$
                          A bit cleaner, s/b comparable in speed: Riffle[list[[;; ;; 2]], list[[2 ;; ;; 2, -1 ;; 1 ;; -1]]]
                          $endgroup$
                          – ciao
                          Apr 10 at 21:00







                        2




                        2




                        $begingroup$
                        A bit cleaner, s/b comparable in speed: Riffle[list[[;; ;; 2]], list[[2 ;; ;; 2, -1 ;; 1 ;; -1]]]
                        $endgroup$
                        – ciao
                        Apr 10 at 21:00




                        $begingroup$
                        A bit cleaner, s/b comparable in speed: Riffle[list[[;; ;; 2]], list[[2 ;; ;; 2, -1 ;; 1 ;; -1]]]
                        $endgroup$
                        – ciao
                        Apr 10 at 21:00











                        4












                        $begingroup$

                        Another method is to use ReplacePart:



                        ReplacePart[1, 2, 3, 4, 5, 6, 7, 8,
                        i_ ? EvenQ :> Reverse@list[[i]]
                        ]
                        (* 1,2,4,3,5,6,8,7 *)





                        share|improve this answer









                        $endgroup$

















                          4












                          $begingroup$

                          Another method is to use ReplacePart:



                          ReplacePart[1, 2, 3, 4, 5, 6, 7, 8,
                          i_ ? EvenQ :> Reverse@list[[i]]
                          ]
                          (* 1,2,4,3,5,6,8,7 *)





                          share|improve this answer









                          $endgroup$















                            4












                            4








                            4





                            $begingroup$

                            Another method is to use ReplacePart:



                            ReplacePart[1, 2, 3, 4, 5, 6, 7, 8,
                            i_ ? EvenQ :> Reverse@list[[i]]
                            ]
                            (* 1,2,4,3,5,6,8,7 *)





                            share|improve this answer









                            $endgroup$



                            Another method is to use ReplacePart:



                            ReplacePart[1, 2, 3, 4, 5, 6, 7, 8,
                            i_ ? EvenQ :> Reverse@list[[i]]
                            ]
                            (* 1,2,4,3,5,6,8,7 *)






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Apr 9 at 21:14









                            Jason B.Jason B.

                            49.1k391197




                            49.1k391197





















                                3












                                $begingroup$

                                This will work



                                list = 1, 2, 3, 4, 5, 6, 7, 8;

                                Table[If[EvenQ[i], Reverse[list[[i]]], list[[i]]], i, 1, Length[list]]

                                (*1, 2, 4, 3, 5, 6, 8, 7*)
                                ```





                                share|improve this answer









                                $endgroup$

















                                  3












                                  $begingroup$

                                  This will work



                                  list = 1, 2, 3, 4, 5, 6, 7, 8;

                                  Table[If[EvenQ[i], Reverse[list[[i]]], list[[i]]], i, 1, Length[list]]

                                  (*1, 2, 4, 3, 5, 6, 8, 7*)
                                  ```





                                  share|improve this answer









                                  $endgroup$















                                    3












                                    3








                                    3





                                    $begingroup$

                                    This will work



                                    list = 1, 2, 3, 4, 5, 6, 7, 8;

                                    Table[If[EvenQ[i], Reverse[list[[i]]], list[[i]]], i, 1, Length[list]]

                                    (*1, 2, 4, 3, 5, 6, 8, 7*)
                                    ```





                                    share|improve this answer









                                    $endgroup$



                                    This will work



                                    list = 1, 2, 3, 4, 5, 6, 7, 8;

                                    Table[If[EvenQ[i], Reverse[list[[i]]], list[[i]]], i, 1, Length[list]]

                                    (*1, 2, 4, 3, 5, 6, 8, 7*)
                                    ```






                                    share|improve this answer












                                    share|improve this answer



                                    share|improve this answer










                                    answered Apr 9 at 23:16









                                    cphyscphys

                                    815




                                    815



























                                        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%2f194901%2fhow-to-reverse-every-other-sublist-of-a-list%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

                                        Marja Vauras Lähteet | Aiheesta muualla | NavigointivalikkoMarja Vauras Turun yliopiston tutkimusportaalissaInfobox OKSuomalaisen Tiedeakatemian varsinaiset jäsenetKasvatustieteiden tiedekunnan dekaanit ja muu johtoMarja VaurasKoulutusvienti on kestävyys- ja ketteryyslaji (2.5.2017)laajentamallaWorldCat Identities0000 0001 0855 9405n86069603utb201588738523620927

                                        Which is better: GPT or RelGAN for text generation?2019 Community Moderator ElectionWhat is the difference between TextGAN and LM for text generation?GANs (generative adversarial networks) possible for text as well?Generator loss not decreasing- text to image synthesisChoosing a right algorithm for template-based text generationHow should I format input and output for text generation with LSTMsGumbel Softmax vs Vanilla Softmax for GAN trainingWhich neural network to choose for classification from text/speech?NLP text autoencoder that generates text in poetic meterWhat is the interpretation of the expectation notation in the GAN formulation?What is the difference between TextGAN and LM for text generation?How to prepare the data for text generation task

                                        Is this part of the description of the Archfey warlock's Misty Escape feature redundant?When is entropic ward considered “used”?How does the reaction timing work for Wrath of the Storm? Can it potentially prevent the damage from the triggering attack?Does the Dark Arts Archlich warlock patrons's Arcane Invisibility activate every time you cast a level 1+ spell?When attacking while invisible, when exactly does invisibility break?Can I cast Hellish Rebuke on my turn?Do I have to “pre-cast” a reaction spell in order for it to be triggered?What happens if a Player Misty Escapes into an Invisible CreatureCan a reaction interrupt multiattack?Does the Fiend-patron warlock's Hurl Through Hell feature dispel effects that require the target to be on the same plane as the caster?What are you allowed to do while using the Warlock's Eldritch Master feature?