How to reverse every other sublist of a list? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)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 can I protect witches in combat who wear limited clothing?
Why not take a picture of a closer black hole?
Is this wall load bearing? Blueprints and photos attached
When did F become S in typeography, and why?
How to delete random line from file using Unix command?
He got a vote 80% that of Emmanuel Macron’s
First use of “packing” as in carrying a gun
Is it ok to offer lower paid work as a trial period before negotiating for a full-time job?
How did the audience guess the pentatonic scale in Bobby McFerrin's presentation?
Problems with Ubuntu mount /tmp
Semisimplicity of the category of coherent sheaves?
Finding degree of a finite field extension
What do you call a plan that's an alternative plan in case your initial plan fails?
How to copy the contents of all files with a certain name into a new file?
Grover's algorithm - DES circuit as oracle?
How to grep and cut numbes from a file and sum them
Keeping a retro style to sci-fi spaceships?
Did the new image of black hole confirm the general theory of relativity?
What aspect of planet Earth must be changed to prevent the industrial revolution?
How do you keep chess fun when your opponent constantly beats you?
Does Parliament hold absolute power in the UK?
Why does the Event Horizon Telescope (EHT) not include telescopes from Africa, Asia or Australia?
Why is superheterodyning better than direct conversion?
Hopping to infinity along a string of digits
How to reverse every other sublist of a list?
The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)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
44629
44629
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*)
```
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$
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.6k22870
17.6k22870
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
60k582168
60k582168
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.
48.9k389197
48.9k389197
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*)
```
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$
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*)
```
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$
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*)
```
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*)
```
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.
answered Apr 9 at 23:16
cphyscphys
815
815
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.
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