この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
プログラミング:python:基本:基本構文 [2020/06/07 05:19] sotoyama [リストなど] |
プログラミング:python:基本:基本構文 [2020/07/05 14:45] (現在) sotoyama [インポート] |
||
---|---|---|---|
ライン 122: | ライン 122: | ||
=== リスト === | === リスト === | ||
- | 要素を[]の中で記述して定義する。 | + | 要素を[]の中で記述して定義する。 |
<code python> | <code python> | ||
ライン 136: | ライン 136: | ||
s2 = list(range(0, 3)) # [ 0, 1, 2 ]のリストが生成 | s2 = list(range(0, 3)) # [ 0, 1, 2 ]のリストが生成 | ||
s3 = list() # []の空リストが生成 | 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> | ||
== 参照 == | == 参照 == | ||
+ | |||
<code python> | <code python> | ||
s1 = [ 1, 2, 3, 4, 5 ] | s1 = [ 1, 2, 3, 4, 5 ] | ||
ライン 144: | ライン 162: | ||
t2 = s1[1:3] # 1番目~3番目の要素[2, 3]を取得 | t2 = s1[1:3] # 1番目~3番目の要素[2, 3]を取得 | ||
t3 = s1[0:5:2] # 0番目~5番目の要素を増分2で取得[1, 3, 5] | t3 = s1[0:5:2] # 0番目~5番目の要素を増分2で取得[1, 3, 5] | ||
+ | |||
+ | u1, u2, u3, u4, u5 = s1 # s1の各要素を先頭から順番にu1~u5変数へ代入 | ||
</code> | </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> | ||