リストを操作するメソッドの戻り値が表示されていないことに気が付いたかもしれません。変更可能なデータ構造全てについての設計上の原則となっています。気がつくかもしれないもう一つのことは、すべてのデータをソートまたは比較できるわけではないということです。定義された順序関係を持たないタイプもあります。有効な比較ではありません。リストをスタックとして使う¶リスト型のメソッドのおかげで、簡単にリストをスタックとして使えます。first-out")。インデクスを指定せずに使います。して使うことも可能です。first-out")。リストでは効率的にこの目的を達成することが出来ません。追加(append)や取り出し(pop)をリストの末尾に対して行うと速いのですが、挿入(insert)や取り出し(pop)をリストの先頭に対して行うと遅くなってしまいます(他の要素をひとつずつずらす必要があるからです)。このクラスは良く設計されていて、高速な追加(append)と取り出し(pop)を両端に対して実現しています。リストの内包表記¶リスト内包表記はリストを生成する簡潔な手段を提供しています。それぞれの要素に対してある操作を行った結果を要素にしたリストを作ったり、ある条件を満たす要素だけからなる部分シーケンスを作成することです。ことに注意してください。range(10)]これはより簡潔で読みやすいです。句のコンテキスト中で式を評価した結果からなる新しいリストです。次のリスト内包表記は2つのリストの要素から、違うもの同士をペアにします。文が両方のコードで同じ順序になっていることに注目してください。タプルに円括弧が必要です。ネストしたリストの内包表記¶リスト内包表記中の最初の式は任意の式なので、そこに他のリスト内包表記を書くこともできます。コンテキストの中で評価されます。12]]実際には複雑な流れの式よりも組み込み関数を使う方が良いです。文¶リストから要素を削除する際、値を指定する代わりにインデックスを指定する方法があります。メソッドと違い、値を返しません。文はリストからスライスを除去したり、リスト全体を削除することもできます(以前はスライスに空のリストを代入して行っていました)。別の用途についてはまた後で取り上げます。タプルとシーケンス¶リストや文字列には、インデクスやスライスを使った演算のように、数多くの共通の性質があることを見てきました。はまだ進歩の過程にある言語なので、他のシーケンスデータ型が追加されるかもしれません。タプルはコンマで区切られたいくつかの値からなります。1])ご覧のとおり、タプルの表示には常に丸括弧がついていて、タプルのネストが正しく解釈されるようになっています。丸括弧が必要な場合もあります。タプルの要素を代入することはできません。タプルにリストのような変更可能型を含めることはできます。タプルはリストと似ていますが、たいてい異なる場面と異なる目的で利用されます。場合は属性)でアクセスすることが多いです。要素はたいてい同じ型のオブジェクトであり、たいていイテレートによってアクセスします。個の項目からなるタプルの構築です。これらの操作を行うため、構文には特別な細工がされています。空のタプルは空の丸括弧ペアで構築できます。美しくはないけれども、効果的です。一つのタプルにパックされます。とでも呼ぶべきもので、右辺には全てのシーケンス型を使うことができます。シーケンスのアンパックでは、等号の左辺に列挙されている変数が、右辺のシーケンスの長さと同じ数だけあることが要求されます。複数同時の代入が実はタプルのパックとシーケンスのアンパックを組み合わせたものに過ぎないことに注意してください。扱うためのデータ型もあります。集合とは、重複する要素をもたない、順序づけられていない要素の集まりです。difference)といった数学的な演算もサポートしています。生成するために使用することができます。後者は空の辞書を作成します。辞書は次のセクションで議論するデータ構造です。