Re: Select list elements and exchange them
- To: mathgroup at smc.vnet.net
- Subject: [mg109810] Re: Select list elements and exchange them
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 19 May 2010 07:00:42 -0400 (EDT)
testList = {{11, {2, 3}}, {21, {3, 4}}, {34, {5, 6}}, {51, {7, 8}}, {77, {3, 4}}}; Cases[testList, {_, {3, 4}}] {{21, {3, 4}}, {77, {3, 4}}} or Select[testList, #[[2]] == {3, 4} &] {{21, {3, 4}}, {77, {3, 4}}} Flatten[Position[testList, {_, {3, 4}}]] {2,5} However, none of this is needed. Just use testList /. {_, {3, 4}} -> {100, {3, 4}} {{11, {2, 3}}, {100, {3, 4}}, {34, {5, 6}}, {51, {7, 8}}, {100, {3, 4}}} Bob Hanlon ---- ishii.mitsuo.titanium at nsc.co.jp wrote: ============= Hi I have a problem. I have a list. testList={ {11,{2,3}},{21,{3,4}},{34,{5,6}},{51,{7,8}} } 1) From this list, select any element list such as {x,{3,4}}, where X is an arbitrary number. In general, position of {x,{3,4}} in "testList" is not fixed. 2) Select any element list such as {x,{3,4}} and then exchange {x,{3,4}} to {100,{3,4}}. 3)Make a new list finally. testListNew={ {11,{2,3}},{100,{3,4}},{34,{5,6}},{51,{7,8}} } Please teach me how to solve. Thanks in advance. Mitsuo Ishii