2012-02-09 50 views
6

Tôi có một danh sách trong Mathematica và tôi đang cố thu thập mọi số khác trong danh sách và lưu trữ nó dưới dạng danh sách mới.Cách nhận tất cả các mục khác trong danh sách

Hiện nay tôi có

ReadList["file",Number] 

mà đọc ra toàn bộ danh sách, { x1, x2, x3, x4, ... }; Tôi chỉ muốn chọn ra mọi số khác và lưu trữ nó trong một danh sách mới, ví dụ: { x1, x3, x5, ... }.

Làm cách nào để thực hiện điều đó?

Trả lời

8

Hãy thử:

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}] 

Cả hai cho:

{a,c,e,g}  
+2

Hoặc hơi ngắn 'yourlist [[1 ;; ;; 2]] '. –

+0

@Brett, thực sự! – kglr

+0

Cảm ơn bạn rất nhiều, Bạn cũng sẽ xảy ra để biết làm thế nào để thay đổi kích thước bước cho Command "ListPlot". Nó liệt kê trong các bước đơn vị, và đã tự hỏi nếu có một cách để thay đổi điều này? Cảm ơn lần nữa vì sự giúp đỡ của bạn! – user1200775

1

Đối với nhiệm vụ như vậy luôn có hàng chục cách sáng tạo để làm điều đó trong Mathematica. kguler đã đưa cho bạn những cách kinh điển, nhưng đây là một số khác:

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

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

Bằng cách này: Có một trang web Mathematica Stackexchange chuyên dụng tại https://mathematica.stackexchange.com/. Cộng đồng Mathematica ngày càng di chuyển theo hướng đó, vì vậy bạn có thể muốn tham gia cùng chúng tôi ở đó.

+0

Oh cảm ơn bạn đã tham khảo! – user1200775

1

Thêm một cách:

First /@ ReadList["test.dat", {Number, Number}] 
Các vấn đề liên quan