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?

Inline version of a function returns different value than non-inline version

Why can Shazam do this?

Access elements in std::string where positon of string is greater than its size

How come people say “Would of”?

What is the motivation for a law requiring 2 parties to consent for recording a conversation

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

What effect does the “loading” weapon property have in practical terms?

Why isn't airport relocation done gradually?

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

Are USB sockets on wall outlets live all the time, even when the switch is off?

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

Geography at the pixel level

"Riffle" two strings

Is three citations per paragraph excessive for undergraduate research paper?

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

Output the Arecibo Message

Is this food a bread or a loaf?

Is domain driven design an anti-SQL pattern?

Carnot-Caratheodory metric

Spanish for "widget"

Why is my p-value correlated to difference between means in two sample tests?

Does a dangling wire really electrocute me if I'm standing in water?

How to reverse every other sublist of a list?

Where to refill my bottle in India?



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 8 hours ago









      nanjunnanjun

      43729




      43729




















          4 Answers
          4






          active

          oldest

          votes


















          6












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

            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$

              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$




















                2












                $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








                New contributor




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






                $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

























                  4 Answers
                  4






                  active

                  oldest

                  votes








                  4 Answers
                  4






                  active

                  oldest

                  votes









                  active

                  oldest

                  votes






                  active

                  oldest

                  votes









                  6












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

















                    6












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















                      6












                      6








                      6





                      $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 8 hours ago









                      marchmarch

                      17.5k22769




                      17.5k22769





















                          5












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

















                            5












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















                              5












                              5








                              5





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









                              Henrik SchumacherHenrik Schumacher

                              59.6k582166




                              59.6k582166





















                                  2












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

















                                    2












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















                                      2












                                      2








                                      2





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









                                      Jason B.Jason B.

                                      48.9k389196




                                      48.9k389196





















                                          2












                                          $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








                                          New contributor




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






                                          $endgroup$

















                                            2












                                            $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








                                            New contributor




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






                                            $endgroup$















                                              2












                                              2








                                              2





                                              $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








                                              New contributor




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






                                              $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








                                              New contributor




                                              cphys 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 answer



                                              share|improve this answer






                                              New contributor




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









                                              answered 5 hours ago









                                              cphyscphys

                                              615




                                              615




                                              New contributor




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





                                              New contributor





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






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



























                                                  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

                                                  How to create a command for the “strange m” symbol in latex? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)How do you make your own symbol when Detexify fails?Writing bold small caps with mathpazo packageplus-minus symbol with parenthesis around the minus signGreek character in Beamer document titleHow to create dashed right arrow over symbol?Currency symbol: Turkish LiraDouble prec as a single symbol?Plus Sign Too Big; How to Call adfbullet?Is there a TeX macro for three-legged pi?How do I get my integral-like symbol to align like the integral?How to selectively substitute a letter with another symbol representing the same letterHow do I generate a less than symbol and vertical bar that are the same height?

                                                  Българска екзархия Съдържание История | Български екзарси | Вижте също | Външни препратки | Литература | Бележки | НавигацияУстав за управлението на българската екзархия. Цариград, 1870Слово на Ловешкия митрополит Иларион при откриването на Българския народен събор в Цариград на 23. II. 1870 г.Българската правда и гръцката кривда. От С. М. (= Софийски Мелетий). Цариград, 1872Предстоятели на Българската екзархияПодмененият ВеликденИнформационна агенция „Фокус“Димитър Ризов. Българите в техните исторически, етнографически и политически граници (Атлас съдържащ 40 карти). Berlin, Königliche Hoflithographie, Hof-Buch- und -Steindruckerei Wilhelm Greve, 1917Report of the International Commission to Inquire into the Causes and Conduct of the Balkan Wars

                                                  Category:Tremithousa Media in category "Tremithousa"Navigation menuUpload media34° 49′ 02.7″ N, 32° 26′ 37.32″ EOpenStreetMapGoogle EarthProximityramaReasonatorScholiaStatisticsWikiShootMe