2012-02-09 4 views
6

У меня есть список в Mathematica, и я пытаюсь получить все остальные числа в списке и сохранить его как новый список.Как получить любой другой элемент в списке

В настоящее время у меня есть

ReadList["file",Number] 

который считывает весь список, { x1, x2, x3, x4, ... }; Я просто хочу выбрать любой другой номер и сохранить его в новом списке, например. { x1, x3, x5, ... }.

Как это сделать?

ответ

8

Try:

yourlist = {a, b, c, d, e, f, g, h}; 
(* use Span: search for Span or ;; in Documentation Center *) 
everyotheritemlist = yourlist[[1 ;; -1 ;; 2]]; 
(* or use Take *) 
Take[yourlist, {1, -1, 2}] 

Оба дают:

{a,c,e,g}  
+2

Или немного короче 'yourlist [[1 ;; ;; 2]] '. –

+0

@ Брет, действительно! – kglr

+0

Большое вам спасибо. Не могли бы вы также узнать, как изменить размер шага для команды «ListPlot». Он перечисляется в единицах шагов и задавался вопросом, есть ли способ изменить это? Еще раз спасибо за вашу помощь! – user1200775

1

Для таких задач, как, что всегда есть десятки творческих способов сделать это в Mathematica. kguler уже дал вам канонические пути, но вот еще один:

Partition[yourlist, 2]\[Transpose][[1]] 

(* 
==> {a, c, e, g} 
*) 

Кстати: Там специальный сайт Mathematica Stackexchange в https://mathematica.stackexchange.com/. Сообщество Mathematica все больше движется в этом направлении, поэтому вы можете присоединиться к нам и там.

+0

О, спасибо вам за ссылку! – user1200775

1

Еще один способ:

First /@ ReadList["test.dat", {Number, Number}] 
Смежные вопросы