Re: Something very simple.....
- To: mathgroup at smc.vnet.net
- Subject: [mg87116] Re: Something very simple.....
- From: dh <dh at metrohm.ch>
- Date: Tue, 1 Apr 2008 05:18:47 -0500 (EST)
- References: <fssr6s$biu$1@smc.vnet.net>
Hi Steve,
1) you must use Map together with Apply:
Map[Sphere@@#&,sphlst]
2) here we the complement of the indices and then use Part:
lsta[[ Complement[Range[Length[lsta]],lstb]] ]
hope this helps, Daniel
Steve Gray wrote:
> 1. I have a list of sphere centers and radii like this:
>
> sphlst={{{ 5.11, 0.76, -0.32}, 100.39},
> {{ 7.18, -1.86, -8.19}, 98.02},
> {{26.71, -9.30, -6.85}, 111.27},
> {{ 0, 0, 0}, 100.00},
> {{ 8.65, 4.28, -3.81}, 103.87}}.
>
> If I do Map[Sphere,sphlst] I get too many braces, like this:
>
> {Sphere[{{ 5.11, 0.76, -0.32}, 100.39}],
> Sphere[{{ 7.18, -1.86, -8.19}, 98.02}],
> Sphere[{{26.71, -9.30, -6.85}, 111.27}],
> Sphere[{{ 0, 0, 0}, 100.00}],
> Sphere[{{ 8.65, 4.28, -3.81}, 103.87}]}
>
> and Sphere needs for example Sphere[{1.11, 2.22, 3.33},4.5].
> What simple thing am I missing to remove the extra braces?
> (I know I can use Table but isn't there a "one-step" method?)
> Flatten doesn't seem to be useful here, or I'm using it wrong.
>
> 2. I have two lists, lsta={a,b,c,d,e,f} and lstb={1,3,4}.
> I want the elements of lsta that do NOT correspond to elements
> of lstb, in this case everything from lsta except elements
> 1,3, and 4: result={b,e,f}.
> (lstb won't have entries larger than Length[lsta]).
>
> Thanks for any tips.
>
> Steve Gray
>