1 @c -----------------------------------------------------------------------------
3 @node Lists, Arrays, Constants, Data Types and Structures
5 @c -----------------------------------------------------------------------------
8 * Introduction to Lists::
9 * Functions and Variables for Lists::
12 @c -----------------------------------------------------------------------------
13 @node Introduction to Lists, Functions and Variables for Lists, Lists, Lists
14 @subsection Introduction to Lists
15 @c -----------------------------------------------------------------------------
17 リストはMaximaとLispにとって基本的な構成要素です。
18 配列、ハッシュテーブル、数以外のデータタイプすべてはLispのリストとして表現されます。
20 式 @code{a+2}を示すために以下の形式を取ります。
28 Maximaレベルでは中置表記@code{a+2}を見ることになるでしょう。
29 Maximaには、以下のようにプリントされるリストもあります。
37 内部的には、これは以下の形式のLispのリストに対応します。
40 ((MLIST) 1 2 7 ((MPLUS) $X $Y ))
45 Maxima式のタイプフィールドを意味するフラグはそれ自体リストです。
46 整理器を通った後、上のリストは以下のようになるでしょう。
49 ((MLIST SIMP) 1 2 7 ((MPLUS SIMP) $X $Y))
54 @c -----------------------------------------------------------------------------
55 @node Functions and Variables for Lists, , Introduction to Lists, Lists
56 @subsection Functions and Variables for Lists
57 @c -----------------------------------------------------------------------------
59 @c -----------------------------------------------------------------------------
65 @fnindex List delimiters
66 @fnindex Subscript operator
69 先頭が@code{[}で終わりが@code{]}のマークはリストです。
71 @code{[}と@code{]}は、リスト、配列、ハッシュ配列、配列関数の添字もくくります。
80 (%i3) array (y, fixnum, 3);
90 (%i8) g[k] := 1/(k^2+1);
102 @category{Lists} @category{Operators}
106 @c NEED ANOTHER deffn FOR GENERAL EXPRESSIONS ARGUMENTS
107 @c NEEDS CLARIFICATION AND EXAMPLES
109 @c -----------------------------------------------------------------------------
111 @deffn {関数} append (@var{list_1}, @dots{}, @var{list_n})
113 @var{list_2}の要素が続き、@dots{}
115 @code{append}は一般式上でも機能します。
116 例えば、 @code{append (f(a,b), f(c,d,e));}は
117 @code{f(a,b,c,d,e)}をもたらします。
119 例を見るには、 @code{example(append);}を実行してください。
122 @category{Lists} @category{Expressions}
126 @c NEEDS CLARIFICATION AND EXAMPLES
128 @c -----------------------------------------------------------------------------
130 @deffn {関数} assoc (@var{key}, @var{list}, @var{default})
131 @deffnx {関数} assoc (@var{key}, @var{list})
134 形式 @code{[x,y,z,...]}の入力 @var{list}の左辺の中で @var{key}を探します。
135 ここで @var{list}の要素のそれぞれは二項演算子と2つの要素の式です。
136 例えば、 @code{x=1}, @code{2^3}, @code{[a,b]}など。
137 最初のオペランドに対して @var{key}がチェックされます。
138 もし @code{key}が見つかったら、
139 @code{assoc}は二番目のオペランドを返します。
140 もし @code{key}が見つからなかったら、
142 @var{default}はオプションで、省略すると @code{false}に設定されます。
145 @category{Lists} @category{Expressions}
149 @c NEED ANOTHER deffn FOR GENERAL EXPRESSIONS ARGUMENTS
150 @c SPLIT OFF EXAMPLES INTO EXAMPLE SECTION
152 @c -----------------------------------------------------------------------------
154 @deffn {関数} cons (@var{expr}, @var{list})
156 最初の要素として要素 @var{expr}で構成され、
157 @var{list}の要素が続く新しいリストを返します。
158 @code{cons}は他の式上でも機能します。
159 例えば、 @code{cons(x, f(a,b,c));} -> @code{f(x,a,b,c)}。
162 @category{Lists} @category{Expressions}
166 @c -----------------------------------------------------------------------------
168 @deffn {関数} copylist (@var{list})
170 リスト @var{list}のコピーを返します。
177 @c -----------------------------------------------------------------------------
179 @deffn {関数} create_list (@var{form}, @var{x_1}, @var{list_1}, @dots{}, @var{x_n}, @var{list_n})
181 @var{list_1}の要素それぞれにバインドされた @var{x_1}で、
183 @var{x_2}を @var{list_2}の要素それぞれにバインドして、...
184 それらのバインドを使って @var{form}を評価することによって
186 結果の要素の数はそれぞれのリストの要素の数の積です。
187 それぞれの変数 @var{x_i}は実際に、シンボルでなければいけません。ーそれは評価されません。
188 リスト引数は繰り返しの始めに一度だけ評価されます。
191 (%i1) create_list(x^i,i,[1,3,7]);
200 (%i1) create_list([i,j],i,[a,b],j,[e,f,h]);
201 (%o1) [[a, e], [a, f], [a, h], [b, e], [b, f], [b, h]]
205 それぞれが数に評価される2つの引数を供給することもできます。
209 (%i1) create_list([i,j],i,[1,2,3],j,1,i);
210 (%o1) [[1, 1], [2, 1], [2, 2], [3, 1], [3, 2], [3, 3]]
213 @code{j}変数の範囲やリストは @code{i}の現在値に依存することができることに注意してください。
220 @c -----------------------------------------------------------------------------
222 @deffn {関数} delete (@var{expr_1}, @var{expr_2})
223 @deffnx {関数} delete (@var{expr_1}, @var{expr_2}, @var{n})
225 @code{delete(@var{expr_1}, @var{expr_2})}は、
228 @var{expr_1}と("="で決定される意味で)同じ引数を取り除きます。
229 "="は、同値ではなく、形式的な同一をテストすることに注意してください。
230 部分式の引数には影響しないことにも注意してください。
232 @var{expr_1}はアトムか、非アトムの式を取り得ます。
233 @var{expr_2}は任意の非アトムの式を取り得ます。
234 @code{delete}は新しい式を返します;
237 @code{delete(@var{expr_1}, @var{expr_2}, @var{n})}は、
243 もしそんな引数が @var{n}個より少ないなら、
251 @c delete (y, [w, x, y, z, z, y, x, w]);
254 (%i1) delete (y, [w, x, y, z, z, y, x, w]);
255 (%o1) [w, x, z, z, x, w]
261 @c delete (sin(x), x + sin(x) + y);
264 (%i1) delete (sin(x), x + sin(x) + y);
271 @c delete (u - x, (u - w)*(u - x)*(u - y)*(u - z));
274 (%i1) delete (u - x, (u - w)*(u - x)*(u - y)*(u - z));
275 (%o1) (u - w) (u - y) (u - z)
281 @c delete (a, foo (a, b, c, d, a));
284 (%i1) delete (a, foo (a, b, c, d, a));
291 @c delete (a, foo (a, b, a, c, d, a), 2);
294 (%i1) delete (a, foo (a, b, a, c, d, a), 2);
295 (%o1) foo(b, c, d, a)
298 引数が @var{expr_1}と同じかどうかは"="で決定されます。
299 @code{equal}ですが、"="でない引数は取り除かれません。
302 @c [is(equal (0, 0)), is(equal(0, 0.0)), is(equal(0, 0b0))];
303 @c [is (0 = 0), is (0 = 0.0), is (0 = 0b0)];
304 @c delete (0, [0, 0.0, 0b0]);
305 @c is (equal ((x + y)*(x - y), x^2 - y^2));
306 @c is ((x + y)*(x - y) = x^2 - y^2);
307 @c delete ((x + y)*(x - y), [(x + y)*(x - y), x^2 - y^2]);
310 (%i1) [is(equal(0, 0)), is(equal(0, 0.0)), is(equal(0, 0b0))];
312 `rat' replaced 0.0 by 0/1 = 0.0
313 `rat' replaced 0.0B0 by 0/1 = 0.0B0
314 (%o1) [true, true, true]
315 (%i2) [is (0 = 0), is (0 = 0.0), is (0 = 0b0)];
316 (%o2) [true, false, false]
317 (%i3) delete (0, [0, 0.0, 0b0]);
319 (%i4) is (equal ((x + y)*(x - y), x^2 - y^2));
321 (%i5) is ((x + y)*(x - y) = x^2 - y^2);
323 (%i6) delete ((x + y)*(x - y), [(x + y)*(x - y), x^2 - y^2]);
329 @category{Lists} @category{Expressions}
333 @c -----------------------------------------------------------------------------
335 @deffn {関数} eighth (@var{expr})
337 式またはリスト @var{expr}の8番目の項を返します。
338 詳細は @code{first}を参照してください。
341 @category{Lists} @category{Expressions}
345 @c NEED ANOTHER deffn FOR GENERAL EXPRESSIONS ARGUMENTS
346 @c SPLIT OFF EXAMPLES INTO EXAMPLE SECTION
348 @c -----------------------------------------------------------------------------
350 @deffn {関数} endcons (@var{expr}, @var{list})
352 @var{expr}が続く @code{list}の要素から成る新しいリストを返します。
353 @code{endcons}は一般式上でも機能します。
355 @code{endcons(x, f(a,b,c));} -> @code{f(a,b,c,x)}。
358 @category{Lists} @category{Expressions}
362 @c -----------------------------------------------------------------------------
364 @deffn {関数} fifth (@var{expr})
366 式またはリスト @var{expr}の5番目の項を返します。
367 詳細は @mref{first}を参照してください。
370 @category{Lists} @category{Expressions}
374 @c NEEDS CLARIFICATION AND EXAMPLES
376 @c -----------------------------------------------------------------------------
378 @deffn {関数} first (@var{expr})
380 リストの最初の要素、行列の最初の行、和の最初の項などに帰着する、
381 @var{expr}の最初の部分を返します。
382 @code{first}とその関連関数 @code{rest}と @code{last}は、
383 入力時にタイプした形式ではなく、 @var{expr}の表示形式上で機能することに注意してください。
384 しかしながら、もし変数 @code{inflag}が @code{true}に設定されているなら、
385 これらの関数は @var{expr}の内部形式を見ます。
386 整理器は式を再配置することに注意してください。
389 もし @code{inflag}が @code{true}なら @code{x}で、
390 もし @code{inflag}が @code{false}なら @code{y} です。
391 (@code{first(y+x)}は同じ結果を与えます。)
392 関数 @code{second} .. @code{tenth}は
393 入力引数の二番目から十番目の部分をもたらします。
396 @category{Lists} @category{Expressions}
400 @c -----------------------------------------------------------------------------
402 @deffn {関数} fourth (@var{expr})
404 式またはリスト @var{expr}の4番目の項を返します。
405 詳細は @mref{first}を参照してください。
408 @category{Lists} @category{Expressions}
412 @c -----------------------------------------------------------------------------
414 @deffn {関数} join (@var{l}, @var{m})
416 リスト@var{l}と@var{m}の要素を交互に含む新しいリストを生成します。
417 結果は、要素 @code{[@var{l}[1], @var{m}[1], @var{l}[2], @var{m}[2], ...]}を持ちます。
418 リスト @var{l}と @var{m}は、任意のタイプの要素を含めます。
421 @code{join}は長いリストの要素を無視します。
423 もし @var{l}か @var{m}がリストでなかったら、
429 @c L1: [a, sin(b), c!, d - 1];
430 @c join (L1, [1, 2, 3, 4]);
431 @c join (L1, [aa, bb, cc, dd, ee, ff]);
434 (%i1) L1: [a, sin(b), c!, d - 1];
435 (%o1) [a, sin(b), c!, d - 1]
436 (%i2) join (L1, [1, 2, 3, 4]);
437 (%o2) [a, 1, sin(b), 2, c!, 3, d - 1, 4]
438 (%i3) join (L1, [aa, bb, cc, dd, ee, ff]);
439 (%o3) [a, aa, sin(b), bb, c!, cc, d - 1, dd]
448 @c HOW IS "LAST" PART DETERMINED ??
450 @c -----------------------------------------------------------------------------
452 @deffn {関数} last (@var{expr})
453 @var{expr}最後の(項、行、要素など)部分を返します。
456 @category{Lists} @category{Expressions}
460 @c NEEDS CLARIFICATION AND EXAMPLES
462 @c -----------------------------------------------------------------------------
464 @deffn {関数} length (@var{expr})
466 (デフォルトでは) @var{expr}の外部(表示)形式の部分の数を返します。
470 (@mref{dispform}を参照してください。)
472 @code{length}コマンドは @mref{inflag}スイッチに影響されます。
473 だから例えば、 @code{length(a/(b*c));}は、
474 (@mref{exptdispflag}が @code{true}と仮定して)
475 もし @code{inflag}が @code{false}なら2を与えますが、
476 もし @code{inflag}が @code{true}なら3を与えます。
477 (内部表現は本質的には @code{a*b^-1*c^-1}です。)
480 @category{Lists} @category{Expressions}
484 @c -----------------------------------------------------------------------------
486 @defvr {オプション変数} listarith
487 デフォルト値: @code{true} - もし @code{false}なら、
488 リストを伴う任意の算術演算が抑制されるようになります;
489 @code{true}の時、リスト-行列演算では、
490 リストが行列に変換されるようになり、いつも行列の結果をもたらすよう連鎖します。
491 しかしながら、リスト-リスト演算はリストを返します。
494 @category{Lists} @category{Global flags}
499 @c -----------------------------------------------------------------------------
500 @deffn {関数} listp (@var{expr})
502 もし @var{expr}がリストなら @code{true}、
503 そうでなければ @code{false}を返します。
506 @category{Lists} @category{Predicate functions}
510 @c -----------------------------------------------------------------------------
512 @deffn {関数} makelist (@var{expr}, @var{i}, @var{i_0}, @var{i_1})
513 @deffnx {関数} makelist (@var{expr}, @var{x}, @var{list})
515 要素それぞれが @var{expr}から生成されたリストを構成し、返します。
517 @code{makelist (@var{expr}, @var{i}, @var{i_0}, @var{i_1})}は、
518 @var{i_0}から @var{i_1}に等しい @code{j}に対して
519 @code{j}番目の要素が @code{ev (@var{expr}, @var{i}=j)}に等しい
522 @code{makelist (@var{expr}, @var{x}, @var{list})}は、
523 1から @code{length (@var{list})}に等しい @code{j}に対して、
524 @code{j}番目の要素が @code{ev (@var{expr}, @var{x}=@var{list}[j])}に等しい
530 @c makelist(concat(x,i),i,1,6);
531 @c makelist(x=y,y,[a,b,c]);
534 (%i1) makelist(concat(x,i),i,1,6);
535 (%o1) [x1, x2, x3, x4, x5, x6]
536 (%i2) makelist(x=y,y,[a,b,c]);
537 (%o2) [x = a, x = b, x = c]
546 @c -----------------------------------------------------------------------------
548 @deffn {関数} member (@var{expr_1}, @var{expr_2})
551 @code{args(@var{expr_2})}の中のある要素@var{a}に対して
552 @code{is(@var{expr_1} = @var{a})}なら
554 そうでなければ @code{false}を返します。
556 @code{expr_2}は通常リストです。
557 その場合、 @code{args(@var{expr_2}) = @var{expr_2}}かつ
558 @code{expr_2}の中のある要素 @var{a}に対して、
559 @code{is(@var{expr_1} = @var{a})}であることがテストです。
562 @code{expr_2}の引数の部分を検査しません。
564 たとえ @code{expr_1}が @code{expr_2}のある引数の部分であっても
565 @code{false}を返すかもしれません。
567 @mref{elementp}も参照してください。
572 @c member (8, [8, 8.0, 8b0]);
573 @c member (8, [8.0, 8b0]);
574 @c member (b, [a, b, c]);
575 @c member (b, [[a, b], [b, c]]);
576 @c member ([b, c], [[a, b], [b, c]]);
577 @c F (1, 1/2, 1/4, 1/8);
579 @c member ("ab", ["aa", "ab", sin(1), a + b]);
582 (%i1) member (8, [8, 8.0, 8b0]);
584 (%i2) member (8, [8.0, 8b0]);
586 (%i3) member (b, [a, b, c]);
588 (%i4) member (b, [[a, b], [b, c]]);
590 (%i5) member ([b, c], [[a, b], [b, c]]);
592 (%i6) F (1, 1/2, 1/4, 1/8);
596 (%i7) member (1/8, %);
598 (%i8) member ("ab", ["aa", "ab", sin(1), a + b]);
603 @category{Lists} @category{Expressions} @category{Predicate functions}
607 @c -----------------------------------------------------------------------------
609 @deffn {関数} ninth (@var{expr})
611 式またはリスト @var{expr}の9番目の項を返します。
612 詳細は @code{first}を参照してください。
615 @category{Lists} @category{Expressions}
619 @c -----------------------------------------------------------------------------
621 @deffn {関数} pop (@var{list})
623 @code{pop}は、リスト @var{list}から最初の要素を取り除き、この要素を返します。
624 @var{list}はリストそのものではなく、リストにバインドされたシンボルでなければいけません。
626 もし引数 @var{list}がリストにバインドされていないかリストが空なら、
627 Maximaはエラーメッセージを生成します。
629 例には @mref{push}も参照してください。
631 @code{load(basic)}はこの関数をロードします。
634 @category{Lists} @category{Expressions}
638 @c -----------------------------------------------------------------------------
640 @deffn {関数} push (@var{item}, @var{list})
642 @code{push}は項目 @var{item}をリスト @var{list}の先頭に追加し、
644 @var{list}はリストそのものではなく、リストにバインドされたシンボルでなければいけません。
645 @var{item}は任意のMaximaシンボルや式が使えます。
647 もし引数 @var{list}がリストにバインドされていないかリストが空なら、
648 Maximaはエラーメッセージを生成します。
650 リストから最初の項目を取り除くには @mref{pop}も参照してください。
652 @code{load(basic)}はこの関数をロードします。
660 @c a:push("string",ll);
672 (%i3) push(x^2+y,ll);
675 (%i4) a:push("string",ll);
677 (%o4) [string, y + x , x]
689 (%o9) [string, y + x , x]
693 @category{Lists} @category{Expressions}
699 @c -----------------------------------------------------------------------------
701 @deffn {関数} rest (@var{expr}, @var{n})
702 @deffnx {関数} rest (@var{expr})
708 お尻の @code{- @var{n}}個の要素を取り除いた
710 もし @var{n}が1なら、省略できます。
711 @var{expr}は、リスト、行列、他の式を取り得ます。
714 @category{Lists} @category{Expressions}
718 @c NEED ANOTHER deffn FOR GENERAL EXPRESSIONS ARGUMENTS
719 @c SPLIT OFF EXAMPLES INTO EXAMPLE SECTION
721 @c -----------------------------------------------------------------------------
723 @deffn {関数} reverse (@var{list})
725 @var{list} のメンバーの順序を逆にします。
727 @code{reverse}は、一般式でも機能します。
728 例えば、 @code{reverse(a=b);}は @code{b=a}を与えます。
731 @category{Lists} @category{Expressions}
735 @c -----------------------------------------------------------------------------
737 @deffn {関数} second (@var{expr})
739 式またはリスト @var{expr}の二番目の項を返します。
740 詳細は @mref{first}を参照してください。
743 @category{Lists} @category{Expressions}
747 @c -----------------------------------------------------------------------------
749 @deffn {関数} seventh (@var{expr})
751 式またはリスト @var{expr}の7番目の項を返します。
752 詳細は @mref{first}を参照してください。
755 @category{Lists} @category{Expressions}
759 @c -----------------------------------------------------------------------------
761 @deffn {関数} sixth (@var{expr})
763 式またはリスト @var{expr}の6番目の項を返します。
764 詳細は @mref{first}を参照してください。
767 @category{Lists} @category{Expressions}
771 @c -----------------------------------------------------------------------------
773 @deffn {関数} sort (@var{L}, @var{P})
774 @deffnx {関数} sort (@var{L})
776 任意の隣り合う要素について@code{@var{P} (@var{L}[k], @var{L}[k + 1])}が@code{true}
778 2つの引数の述語論理@code{P}に従ってリスト@var{L}をソートします。
779 述語論理は関数や2値中値演算子の名前として、@code{lambda}式として指定されるかもしれません。
780 もし演算子名として指定されたなら、名前は「ダブルクォート」でくくられます。
782 ソートされたリストは新しいオブジェクトとして返されます;
785 @code{sort}は、@var{L}の要素の浅いコピーを実行します。
786 @c DUNNO IF WE NEED TO GO INTO THE IMPLICATIONS OF SHALLOW COPY HERE ...
788 @c MIGHT CONSIDER A REF FOR TOTAL ORDER HERE
789 もし述語論理@var{P}が@var{L}の要素の総順序でなければ、
790 @code{sort}は、エラーなしに実行を完了するかもしれませんが、結果は未定義です。
791 もし述語論理が@code{true}もしくは@code{false}以外の何かに評価されるなら、
792 @code{sort}はエラーを出力します。
794 @code{sort (@var{L})}は @code{sort (@var{L}, orderlessp)}と同値です。
795 すなわち、デフォルトソート順序は昇順です。@mref{orderlessp}で決められているように。
797 述語論理@code{ordergreatp}はリストを降順にソートします。
798 述語論理@code{ordermagnitudep}はMaxima数や数値を持つ定数シンボル、
799 定数に評価されることができる式を大きさによってソートします。
800 リスト@var{L}の他のすべての要素は@code{orderlessp}によってソートされます。
801 述語論理@code{"<"}も大きさによる順序付けを許しますが、
802 もしリスト@var{L}の要素が@code{"<"}の下で比較可能でないなら完全には並べません。
807 @c sort ([11, -17, 29b0, 7.55, 3, -5/2, b + a, 9 * c,
809 @c sort ([11, -17, 29b0, 7.55, 3, -5/2, b + a, 9 * c, 19 - 3 * x],
811 @c sort ([%pi, 3, 4, %e, %gamma]);
812 @c sort ([%pi, 3, 4, %e, %gamma], "<");
813 @c my_list : [[aa, hh, uu], [ee, cc], [zz, xx, mm, cc], [%pi, %e]];
815 @c sort (my_list, lambda ([a, b], orderlessp (reverse (a),
819 (%i1) sort ([11, -17, 29b0, 7.55, 3, -5/2, b + a, 9 * c,
822 (%o1) [- 17, - -, 3, 7.55, 11, 2.9b1, b + a, 9 c, 19 - 3 x]
824 (%i2) sort ([11, -17, 29b0, 7.55, 3, -5/2, b + a, 9*c, 19 - 3*x],
827 (%o2) [19 - 3 x, 9 c, b + a, 2.9b1, 11, 7.55, 3, - -, - 17]
829 (%i3) sort ([%pi, 3, 4, %e, %gamma]);
830 (%o3) [3, 4, %e, %gamma, %pi]
831 (%i4) sort ([%pi, 3, 4, %e, %gamma], "<");
832 (%o4) [%gamma, %e, 3, %pi, 4]
833 (%i5) my_list: [[aa,hh,uu], [ee,cc], [zz,xx,mm,cc], [%pi,%e]];
834 (%o5) [[aa, hh, uu], [ee, cc], [zz, xx, mm, cc], [%pi, %e]]
835 (%i6) sort (my_list);
836 (%o6) [[%pi, %e], [aa, hh, uu], [ee, cc], [zz, xx, mm, cc]]
838 (%i7) sort (my_list, lambda ([a, b], orderlessp (reverse (a),
841 (%o7) [[%pi, %e], [ee, cc], [zz, xx, mm, cc], [aa, hh, uu]]
844 Maxima数と定数、定数式を大きさ順に並べ、他のすべての要素を降順で並べます:
847 @c sort([%i,1+%i,2*x,minf,inf,%e,sin(1),0,1,2,3,1.0,1.0b0],
851 (%i8) sort([%i,1+%i,2*x,minf,inf,%e,sin(1),0,1,2,3,1.0,1.0b0],
853 (%o8) [minf, 0, sin(1), 1, 1.0, 1.0b0, 2, %e, 3, inf, %i,
862 @c -----------------------------------------------------------------------------
864 @deffn {関数} sublist (@var{list}, @var{p})
866 述語論理@code{p}が@code{true}を返す@var{list}の要素のリストを返します。
871 @c L: [1, 2, 3, 4, 5, 6];
872 @c sublist (L, evenp);
875 (%i1) L: [1, 2, 3, 4, 5, 6];
876 (%o1) [1, 2, 3, 4, 5, 6]
877 (%i2) sublist (L, evenp);
886 @c -----------------------------------------------------------------------------
887 @anchor{sublist_indices}
888 @deffn {関数} sublist_indices (@var{L}, @var{P})
890 述語論理 @code{maybe(@var{P}(x))}が @code{true}を返す、
891 リスト @var{L}の要素 @code{x}のインデックスを返します;
892 これは @code{false}はもちろん @code{unknown}も除外します。
893 @var{P}は関数名かラムダ式を取り得ます。
894 @var{L}はリストリテラルでなければいけません。
899 @c sublist_indices ('[a, b, b, c, 1, 2, b, 3, b],
900 @c lambda ([x], x='b));
901 @c sublist_indices ('[a, b, b, c, 1, 2, b, 3, b], symbolp);
902 @c sublist_indices ([1 > 0, 1 < 0, 2 < 1, 2 > 1, 2 > 0],
905 @c map (maybe, [x > 0, x < 0, x < -2]);
906 @c sublist_indices ([x > 0, x < 0, x < -2], identity);
909 (%i1) sublist_indices ('[a, b, b, c, 1, 2, b, 3, b],
912 (%i2) sublist_indices ('[a, b, b, c, 1, 2, b, 3, b], symbolp);
913 (%o2) [1, 2, 3, 4, 7, 9]
914 (%i3) sublist_indices ([1 > 0, 1 < 0, 2 < 1, 2 > 1, 2 > 0],
917 (%i4) assume (x < -1);
919 (%i5) map (maybe, [x > 0, x < 0, x < -2]);
920 (%o5) [false, true, unknown]
921 (%i6) sublist_indices ([x > 0, x < 0, x < -2], identity);
930 @c -----------------------------------------------------------------------------
932 @deffn {関数} unique (@var{L})
934 リスト @var{L}の重複しない要素を返します。
936 @var{L}の要素すべてが重複しない時、
942 @code{unique}は@var{L}を返します。
947 @c unique ([1, %pi, a + b, 2, 1, %e, %pi, a + b, [1]]);
950 (%i1) unique ([1, %pi, a + b, 2, 1, %e, %pi, a + b, [1]]);
951 (%o1) [1, 2, %e, %pi, [1], b + a]
955 @c -----------------------------------------------------------------------------
957 @deffn {関数} tenth (@var{expr})
959 式またはリスト @var{expr}の10番目の項を返します。
960 詳細は @code{first}を参照してください。
964 @category{Lists} @category{Expressions}
968 @c -----------------------------------------------------------------------------
970 @deffn {関数} third (@var{expr})
972 式またはリスト @var{expr}の三番目の項を返します。
973 詳細は @code{first}を参照してください。
976 @category{Lists} @category{Expressions}