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?
Why is it "Tumoren" and not "Tumore"?
Dual Citizen. Exited the US on Italian passport recently
Can we apply L'Hospital's rule where the derivative is not continuous?
Falsification in Math vs Science
Poison Arrows Piercing damage reduced to 0, do you still get poisoned?
Output the Arecibo Message
Inflated grade on resume at previous job, might former employer tell new employer?
is usb on wall sockets live all the time with out switches off
Should I write numbers in words or as symbols in this case?
Is there a name of the flying bionic bird?
Why isn't airport relocation done gradually?
Families of ordered set partitions with disjoint blocks
Extreme, unacceptable situation and I can't attend work tomorrow morning
How to make payment on the internet without leaving a money trail?
Is it possible for the two major parties in the UK to form a coalition with each other instead of a much smaller party?
Which Sci-Fi work first showed weapon of galactic-scale mass destruction?
I see my dog run
A poker game description that does not feel gimmicky
What is the meaning of Triage in Cybersec world?
Access elements in std::string where positon of string is greater than its size
Could JWST stay at L2 "forever"?
Why don't Unix/Linux systems traverse through directories until they find the required version of a linked library?
Is this food a bread or a loaf?
Is three citations per paragraph excessive for undergraduate research paper?
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?
$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 1 hour ago
nanjunnanjun
43229
43229
add a comment |
add a comment |
3 Answers
3
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$
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$
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$
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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
3 Answers
3
active
oldest
votes
3 Answers
3
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 1 hour ago
marchmarch
17.5k22769
17.5k22769
add a comment |
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 35 mins ago
Jason B.Jason B.
48.9k389196
48.9k389196
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$
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$
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
answered 25 mins ago
Henrik SchumacherHenrik Schumacher
59.5k582166
59.5k582166
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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