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?
$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?
list-manipulation
$endgroup$
add a comment |
$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?
list-manipulation
$endgroup$
add a comment |
$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?
list-manipulation
$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
list-manipulation
asked Apr 9 at 20:32
nanjunnanjun
45129
45129
add a comment |
add a comment |
4 Answers
4
active
oldest
votes
$begingroup$
Use MapAt
, which accepts the same syntax as Part
:
MapAt[Reverse, list, 2 ;; ;; 2]
(* 1, 2, 4, 3, 5, 6, 8, 7 *)
$endgroup$
add a comment |
$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
$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
add a comment |
$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 *)
$endgroup$
add a comment |
$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*)
```
$endgroup$
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
$begingroup$
Use MapAt
, which accepts the same syntax as Part
:
MapAt[Reverse, list, 2 ;; ;; 2]
(* 1, 2, 4, 3, 5, 6, 8, 7 *)
$endgroup$
add a comment |
$begingroup$
Use MapAt
, which accepts the same syntax as Part
:
MapAt[Reverse, list, 2 ;; ;; 2]
(* 1, 2, 4, 3, 5, 6, 8, 7 *)
$endgroup$
add a comment |
$begingroup$
Use MapAt
, which accepts the same syntax as Part
:
MapAt[Reverse, list, 2 ;; ;; 2]
(* 1, 2, 4, 3, 5, 6, 8, 7 *)
$endgroup$
Use MapAt
, which accepts the same syntax as Part
:
MapAt[Reverse, list, 2 ;; ;; 2]
(* 1, 2, 4, 3, 5, 6, 8, 7 *)
answered Apr 9 at 20:33
marchmarch
17.7k22870
17.7k22870
add a comment |
add a comment |
$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
$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
add a comment |
$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
$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
add a comment |
$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
$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
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
add a comment |
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
add a comment |
$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 *)
$endgroup$
add a comment |
$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 *)
$endgroup$
add a comment |
$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 *)
$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 *)
answered Apr 9 at 21:14
Jason B.Jason B.
49.1k391197
49.1k391197
add a comment |
add a comment |
$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*)
```
$endgroup$
add a comment |
$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*)
```
$endgroup$
add a comment |
$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*)
```
$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*)
```
answered Apr 9 at 23:16
cphyscphys
815
815
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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