Quantcast
Channel: dictionaryタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 99

python初学者の備忘録 コレクションについて

$
0
0
←目次へ python,Qiita初心者なので、備忘録として記載していきます。 なにせ初心者なので、知識不足はご理解ください。 知識を深めながら追記していきたいと思います。 コレクションとは 複数のデータを格納することから「コレクション」「コンテナ」などと呼ぶこともある また、そのうち「リスト」と「タプル」はシーケンス型オブジェクトとも呼ぶこともある ※「range」「文字列」もそれにあたる オブジェクト生成後に要素を変更できる:mutableオブジェクト オブジェクト生成後に要素を変更できない:immutableオブジェクト 生存期間中変わらないハッシュ値を持つ:hashableオブジェクト 各コレクションの違い データ型 変更可否 要素の順序 インデックス 説明 リスト 〇 〇 〇 任意の型のデータを格納できる タプル × 〇 〇 任意の型のデータを格納できる 辞書 〇 × × キーと値の組で表されるデータを格納する 集合 〇 × × 重複の無いリストを格納する 集合(frozenset型) × × × 重複の無いリストを格納する リスト型 タプル型 辞書型(連想配列) 集合型 集合型(frozenset型) 同じ要素数のシーケンスの比較演算 タプルやリストなどのシーケンスオブジェクトは比較演算できる シーケンス同士の比較は、先頭の要素から順番に同じインデックス同士の値を比較して、先に小さい値となったシーケンスが小さい値となる # -- リストの場合 -- list1 = ['a', 'b', 'c'] list2 = ['a', 'b', 'd'] print(list1 <= list2) True list3 = ['a', 'b', 'c'] list4 = ['a', 'b', 'b'] print(list3 <= list4) False # -- タプルの場合 -- value1 = (1, 2, 3, 4) value2 = (1, 2, 3, 5) print(value1 < value2) True value3 = (1, 2, 3, 4) value4 = (1, 2, 3, 3) print(value3 < value4) False dic1 = {'a': 0, 'b': 1} dic2 = {'b': 1, 'a': 0} print(dic1 == dic2) True # 全てのキーと値が等しいので別オブジェクトだがTrue # -- 集合の場合 -- set1 = {"A", "B", "C"} set2 = {"B", "C", "A"} print(set1 == set2) True # set1の要素がset2にすべて含まれており、set2の要素がset1にすべて含まれているのでTrue 異なる要素数のシーケンスの比較演算 比較するシーケンス同士の長さが異なる場合、短いシーケンスの要素と長いシーケンスの要素を比較してすべて等しければ、短い要素のほうが小さい値となる # -- リストの場合 -- >>> list1 = ['a', 'b', ] >>> list2 = ['a', 'b', 'C'] >>> print(list1 <= list2) True # -- タプルの場合 -- value1 = (1, 2, 3) value2 = (1, 2, 3, 4) print(value1 < value2) True 異なるコレクションの比較演算はできない list1 = [1, 2, 3] value2 = (1, 2, 3) print(list1 <= value2) # TypeError: '<=' not supported between instances of 'list' and 'tuple' # 型が違うためエラーになる 辞書型や集合型は比較演算できない

Viewing all articles
Browse latest Browse all 99

Trending Articles