I can not make sure, but I have searched this website, there is not the same question as what I will ask below. If it turns out there indeed exists, please let me know, thanks a lot.
My question is not complicated, actually. Suppose I have a List of Length 32:
values = RandomInteger[9, 32]; A baby question
If I want to divide it into two groups, e.g., by naming that the 3rd to 6th elements are in Group I and the rest are in Group II, I can use TakeDrop to easily satisfy myself:
TakeDrop[values, {3, 6}] The advantage of TakeDrop is that the user need not provide the information for Group II explicitly.
The real question
Well, what I really want to put into Group I, besides the 3rd to 6th elements, in the meanwhile includes also the 13th to 16th elements, namely, the position specification is not in a consecutive fashion. At first, I guessed TakeDrop maybe also to work, but did not find a way out. And what so far I can come up with is to use Part with Complement, something like:
{#[[{3, 4, 5, 6, 13, 14, 15, 16}]], #[[Complement[Range[32], {3, 4, 5, 6, 13, 14, 15, 16}]]]} &[values] which, frankly speaking, I do not think very pretty, in that I have to write code to calculate the positions for Group II.
So, is there a way like TakeDrop working for my real question?

