How to reverse every other sublist of a list? The 2019 Stack Overflow Developer Survey Results Are InHow 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?

Is it possible for the two major parties in the UK to form a coalition with each other instead of a much smaller party?

How to answer pointed "are you quitting" questioning when I don't want them to suspect

Poison Arrows Piercing damage reduced to 0, do you still get poisoned?

Is the gradient of the self-intersections of a curve zero?

Lethal sonic weapons

Does light intensity oscillate really fast since it is a wave?

How are circuits which use complex ICs normally simulated?

What does "rabbited" mean/imply in this sentence?

Spanish for "widget"

Patience, young "Padovan"

Which Sci-Fi work first showed weapon of galactic-scale mass destruction?

What is the use of option -o in the useradd command?

Inflated grade on resume at previous job, might former employer tell new employer?

How to deal with fear of taking dependencies

Did USCIS resume its biometric service for UK visa?

Why do UK politicians seemingly ignore opinion polls on Brexit?

What are the motivations for publishing new editions of an existing textbook, beyond new discoveries in a field?

Output the Arecibo Message

JSON.serialize: is it possible to suppress null values of a map?

Can we apply L'Hospital's rule?

is usb on wall sockets live all the time with out switches off

Is bread bad for ducks?

"What time...?" or "At what time...?" - what is more grammatically correct?

Is domain driven design an anti-SQL pattern?



How to reverse every other sublist of a list?



The 2019 Stack Overflow Developer Survey Results Are InHow 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?










4












$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$
















    4












    $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$














      4












      4








      4





      $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 1 hour ago









      nanjunnanjun

      43229




      43229




















          3 Answers
          3






          active

          oldest

          votes


















          5












          $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$




















            1












            $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$




















              1












              $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$













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









                5












                $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$

















                  5












                  $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$















                    5












                    5








                    5





                    $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 1 hour ago









                    marchmarch

                    17.5k22769




                    17.5k22769





















                        1












                        $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$

















                          1












                          $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$















                            1












                            1








                            1





                            $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 32 mins ago









                            Jason B.Jason B.

                            48.9k389196




                            48.9k389196





















                                1












                                $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$

















                                  1












                                  $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$















                                    1












                                    1








                                    1





                                    $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










                                    answered 22 mins ago









                                    Henrik SchumacherHenrik Schumacher

                                    59.5k582166




                                    59.5k582166



























                                        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

                                        Bett Inhaltsverzeichnis Geschichte | Bettformen | Bettgrößen | Andere Bezeichnungen | Bettenmangel | Betten in der bildenden Kunst | Schlafmedizinische Gesichtspunkte | Siehe auch | Literatur | Weblinks | Einzelnachweise | NavigationsmenüBett, Bettstatt, BettstelleCommons: BettBabybetten: Anwendung, Ausstattungsmerkmale und VergleichskriterienWasserbetten. Vorurteile im TestHapfnNursch10.1007/s11818-012-0584-74006250-8AKS4329276-8

                                        Luksemburg Sisukord Nimi | Asend | Loodus | Riigikord | Haldusjaotus | Rahvastik | Riigikaitse | Majandus | Taristu | Ajalugu | Eesti ja Luksemburgi suhted | Haridus | Kultuur | Vaata ka | Viited | Välislingid | Navigeerimismenüü50° N, 6° EÜlevaade Luksemburgi kaitsealadest.Luksemburgi rahvaarv. Statistikaamet.World Bank'i andmebaasÜlevaade Luksemburgi loodusest.Ülevaade Luksemburgi metsadest.Guy Colling. "Red List of the Vascular Plants of Luxembourg." Travaux scientifiques du Musée national d’histoire naturelle Luxembourg. 2005.Luxembourg’s biodiversity at risk.Maailma kahepaiksete andmebaas.Denis Lepage. "Luxembourg." Avibase.Ülevaade temperatuuridest. Luksemburgi meteoroloogiateenistus.Ülevaade Luksemburgist. Euroopa Liidu esinduse koduleht.Système politique. TerritoireÜlevaade Luksemburgi rahvastikust. Luksemburgi statistikaamet.Luksemburgi rahvastik. Luksemburgi statistikaamet.The World FactbookMonique Borsenberger, Paul Dickes. "Religions au Luxembourg. Quelle évolution entre 1999-2008". Luksemburgi statistikaamet. 2011.Luksemburgi peapiiskopkond. Catholic-Hierarchy.Luksemburgi armee koduleht.Luksemburgi armee relvastus.Eesti Välisministeerium.Luksemburgi rahvastik. Luksemburgi statistikaamet.Luksemburgi Eesti Seltsi koduleht.Helen Eelrand. "Raadio, mis muutis maailma." Eesti Päevaleht. 13. märts 2004.Ülevaade Luksemburgi haridussüsteemist.Ülevaade Luksemburgi keskkoolidest.Luksemburgr

                                        Valle di Casies Indice Geografia fisica | Origini del nome | Storia | Società | Amministrazione | Sport | Note | Bibliografia | Voci correlate | Altri progetti | Collegamenti esterni | Menu di navigazione46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)Sito istituzionaleAstat Censimento della popolazione 2011 - Determinazione della consistenza dei tre gruppi linguistici della Provincia Autonoma di Bolzano-Alto Adige - giugno 2012Numeri e fattiValle di CasiesDato IstatTabella dei gradi/giorno dei Comuni italiani raggruppati per Regione e Provincia26 agosto 1993, n. 412Heraldry of the World: GsiesStatistiche I.StatValCasies.comWikimedia CommonsWikimedia CommonsValle di CasiesSito ufficialeValle di CasiesMM14870458910042978-6