ユーザ用ツール

サイト用ツール


プログラミング:python:基本:基本構文

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
プログラミング:python:基本:基本構文 [2020/06/07 02:12]
sotoyama [関数]
プログラミング:python:基本:基本構文 [2020/07/05 14:45] (現在)
sotoyama [インポート]
ライン 116: ライン 116:
     return height * weight     return height * weight
  
 +</​code>​
 +
 +==== リストなど ====
 +
 +=== リスト ===
 +
 +要素を[]の中で記述して定義する。
 +
 +<code python>
 +a = [ 1, 2, 3, 4, 5 ]                       # 数値のリスト
 +b = [ "​aaa",​ "​bbb",​ "​ccc"​ ]                 # 文字列のリスト
 +c = [ 1, "​aaa",​ 2, "​bbb",​ 3, "​ccc"​ ]        # 数値、文字列の混在も可能
 +d = []                                      # 空のリスト
 +</​code>​
 +
 +他の型(文字列やrange())からリストを生成する場合、list()を使用する。
 +<code python>
 +s1 = list("​Hello"​) ​                         # [ '​H',​ '​e',​ '​l',​ '​l',​ '​o'​ ]のリストが生成
 +s2 = list(range(0,​ 3))                      # [ 0, 1, 2 ]のリストが生成
 +s3 = list() ​                                # []の空リストが生成
 +</​code>​
 +
 +複数のリストを纏めた新しいリストを作成する場合、zip()やenumerate()を使用する。
 +<code python>
 +s1 = [ 1, 2, 3 ]
 +s2 = [ 4, 5, 6 ]
 +s3 = [ 7, 8, 9 ]
 +tmp1 = zip(s1, s2, s3)
 +t1 = list(tmp1) ​                            # [ ( 1, 2, 3 ), ( 4, 5, 6 ), ( 7, 8, 9 ) ]のリストが生成
 +                                            # 縦に要素が結合されるので注意
 +
 +s4 = [ "​aaa",​ "​bbb",​ "​ccc"​ ]
 +tmp2 = enumerate(s4)
 +t2 = list(tmp2) ​                            # [ ( 0, "​aaa"​ ), ( 1, "​bbb"​ ), ( 2, "​ccc"​ ) ]のリストが生成
 +tmp3 = enumerate(s4,​ 1)
 +t3 = list(tmp3) ​                            # [ ( 1, "​aaa"​ ), ( 2, "​bbb"​ ), ( 3, "​ccc"​ ) ]のリストが生成
 +
 +</​code>​
 +
 +== 参照 ==
 +
 +<code python>
 +s1 = [ 1, 2, 3, 4, 5 ]
 +t1 = s1[0]                                  # 0番目の要素(1)を取得
 +t2 = s1[1:​3] ​                               # 1番目~3番目の要素[2,​ 3]を取得
 +t3 = s1[0:​5:​2] ​                             # 0番目~5番目の要素を増分2で取得[1,​ 3, 5]
 +
 +u1, u2, u3, u4, u5 = s1                     # s1の各要素を先頭から順番にu1~u5変数へ代入
 +</​code>​
 +
 +== 追加 ==
 +
 +<code python>
 +s1 = []
 +s1.append("​aaa"​) ​                           # [ "​aaa"​ ]
 +s1.append("​bbb"​) ​                           # [ "​aaa",​ "​bbb"​ ]
 +s1.append("​ccc"​) ​                           # [ "​aaa",​ "​bbb",​ "​ccc"​ ]
 +s1.insert(1,​ "​ddd"​) ​                        # [ "​aaa",​ "​ddd",​ "​bbb",​ "​ccc"​ ]
 +</​code>​
 +
 +== 更新 ==
 +
 +<code python>
 +s1 = [ "​aaa",​ "​bbb",​ "​ccc"​ ]
 +s1[2] = "​ddd" ​                              # [ "​aaa",​ "​ddd",​ "​ccc"​ ]
 +</​code>​
 +
 +== 削除 ==
 +
 +<code python>
 +s1 = [ "​aaa",​ "​bbb",​ "​ccc"​ ]
 +s1.pop() ​                                   # [ "​aaa",​ "​bbb"​ ]
 +s1.pop(0) ​                                  # [ "​bbb"​ ]
 +</​code>​
 +
 +== 多次元リスト ==
 +
 +[]を入れ子にすることで多次元リストの作成が可能。
 +<code python>
 +s1 = [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ]       # 2次元リスト
 +</​code>​
 +
 +=== タプル ===
 +
 +タプルはリストと異なる定義後は要素の書き換えができない。定数値や辞書のキーに使用する。
 +
 +要素を()の中で記述して定義する。
 +
 +<code python>
 +a = ( 1, 2, 3, 4, 5 )                       # 数値のタプル
 +b = ( "​aaa",​ "​bbb",​ "​ccc"​ )                 # 文字列のタプル
 +c = ( 1, "​aaa",​ 2, "​bbb",​ 3, "​ccc"​ )        # 数値、文字列の混在も可能
 +d = ( 1, )                                  # 要素が1つの場合、後ろに,​(カンマ)が必要
 +e = ()                                      # 空のタプル
 +f = a + b                                   # 既存のタプルから新しいタプルを作成することも可能
 +g = a * 2                                   # 同上
 +</​code>​
 +
 +他の型(文字列やrange())からリストを生成する場合、tuple()を使用する。
 +<code python>
 +s1 = touple("​Hello"​) ​                         # ( '​H',​ '​e',​ '​l',​ '​l',​ '​o'​ )のタプルが生成
 +s2 = touple(range(0,​ 3))                      # ( 0, 1, 2 )のタプルが生成
 +s3 = touple() ​                                # ()の空タプルが生成
 +</​code>​
 +
 +== 参照 ==
 +
 +<code python>
 +s1 = ( 1, 2, 3, 4, 5 )
 +t1 = s1(0)                                  # 0番目の要素(1)を取得
 +t2 = s1(1:​3) ​                               # 1番目~3番目の要素(2,​ 3)を取得
 +t3 = s1(0:​5:​2) ​                             # 0番目~5番目の要素を増分2で取得(1,​ 3, 5)
 +
 +u1, u2, u3, u4, u5 = s1                     # s1の各要素を先頭から順番にu1~u5変数へ代入
 +</​code>​
 +
 +=== セット ===
 +
 +要素を{}の中で記述して定義する。セットは順序性を持たないため、重複する要素は登録できない。またスライスを使用した要素の抽出もできない。
 +
 +<code python>
 +a = { 1, 2, 3, 4, 5 }                       # 数値のセット
 +b = { "​aaa",​ "​bbb",​ "​ccc"​ }                 # 文字列のセット
 +c = { 1, "​aaa",​ 2, "​bbb",​ 3, "​ccc"​ }        # 数値、文字列の混在も可能
 +# d = {}                                    # この記述で空のセットは生成できない。後述のset()を使用する
 +</​code>​
 +
 +他の型(文字列やrange())からリストを生成する場合、set()を使用する。
 +<code python>
 +s1 = set("​Hello"​) ​                          # { '​H',​ '​e',​ '​l',​ '​l',​ '​o'​ }のセットが生成
 +s2 = set(range(0,​ 3))                       # { 0, 1, 2 }のセットが生成
 +s3 = set()                                  # {}の空セットが生成
 +</​code>​
 +
 +== 追加 ==
 +
 +<code python>
 +s1 = set()
 +s1.add("​aaa"​) ​                              # { "​aaa"​ }
 +s1.add("​bbb"​) ​                              # { "​aaa",​ "​bbb"​ }         ​※順序性は保証しない
 +s1.add("​ccc"​) ​                              # { "​aaa",​ "​bbb",​ "​ccc"​ }  ※順序性は保証しない
 +</​code>​
 +
 +
 +== 削除 ==
 +
 +<code python>
 +s1 = { "​aaa",​ "​bbb",​ "​ccc"​ }
 +s1.remove("​bbb"​) ​                          # [ "​aaa",​ "​ccc"​ ]
 +</​code>​
 +
 +== 存在判定 ==
 +
 +<code python>
 +s1 = { "​aaa",​ "​bbb",​ "​ccc"​ }
 +if "​bbb"​ in s1:                            # s1に"​bbb"​が存在すれば、Trueとなる
 +    print("​bbb is exists."​)
 +</​code>​
 +
 +=== 辞書 ===
 +
 +キーと値を:​(コロン)で区切り、{}の中で記述して定義する。同名のキーを指定した場合、後勝ちで上書きされる。
 +
 +<code python>
 +a = { "​foo":​ 1, "​bar":​ 2, "​hoge":​ 3 }                   # 値が数値
 +b = { "​foo":​ "​aaa",​ "​bar":​ "​bbb",​ "​hoge":​ "​ccc"​ }       # 値が数値
 +c = { "​foo":​ "​aaa",​ "​bar":​ 2, "​hoge":​ 3 }               # 値が数値
 +d = {}                                                  # 空の辞書を生成
 +</​code>​
 +
 +== 追加・参照 ==
 +
 +<code python>
 +# 追加
 +s1 = {}
 +s1["​foo"​] = 1                               # { "​foo":​ 1 }
 +s1["​bar"​] = 2                               # { "​foo":​ 1, "​bar":​ 2 }
 +s1["​hoge"​] = 3                              # { "​foo":​ 1, "​bar":​ 2, "​hoge":​ 3 }
 +
 +# 参照
 +t1 = s1["​bar"​] ​                             # t1に2が代入
 +</​code>​
 +
 +==== インポート ====
 +
 +特定の関数を使用する場合、モジュールのインポートが必要。
 +
 +<code python>
 +import math          # ceil関数を使用するためのインポート
 +
 +print(math.ceil(a))
 </​code>​ </​code>​
  
プログラミング/python/基本/基本構文.1591495935.txt.gz · 最終更新: 2020/06/07 02:12 by sotoyama