━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 実践アルゴリズムとデータ構造:例題bの要点 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●例題b1 (最大公約数) 条件式 不等号 > 論理積 and return 式 関数の値を返却 関数名(引数) 関数呼び出し(組み込み関数と同じ) print(…, end=' ') 表示の末尾の文字列の指定 def 関数名(引数): 関数定義(本体は字下げ範囲) '説明' 文 while 条件式: 反復(条件が成り立つ間,字下げ範囲を反復実行) 文 if 条件式: 条件文(条件が成り立つか否かに応じて文1か文2を実行) 文1 else: 文2 最大値アルゴリズム 実行環境(Paiza.IO)の利用 ●例題b2 (データ構造) 入れ子のデータ構造 実行環境(Python Tutor)によるデータ構造の可視化 ●例題b3 (データ操作) リスト[i] i 番目の要素(先頭は0番目から) リスト[i:j] i 番目から j 番目の直前まで リスト[:i] 先頭から i 番目の直前まで リスト[i:] i 番目以降 リスト.append(要素) 末尾への追加 リスト.insert(i, 要素) i 番目に挿入 リスト[i] = 要素 i 番目の要素を更新 ●例題b4 (表形式データの読み込み) open(ファイル名, …) ファイル利用 csv.reader(CSVファイル) CSVファイルをリストのリストに変換 list(列) リストへの変換 (変数,…,変数) = 列 代入による列の分解 関数(*列) 引数での列の展開 {} 空の辞書 辞書[キー] = 式 辞書への追加/更新 辞書.items() 辞書のキーと値のタプルの列 辞書.keys() 辞書のキーの列 辞書.values() 辞書の値の列 辞書[キー] 辞書の参照 for 変数 in 辞書: 辞書の走査(各キーに対する文の実行) 文 for (要素,…,要素) in タプル列: タプル列の走査 文 ●例題b5 (表形式データの利用) \n 改行文字 math.dist(点1,点2) 2点間の距離 print(f'{d:.1f}') 小数の表示桁数の指定 ●例題b6 (表形式データの活用) 条件式 要素の所属判定 in 論理和 or len(列) 列の長さ ●例題b7 (データ構造の活用) random.randint(値1,値2) 整数の無作為抽出 列.index(要素) 列要素の位置 max(列) 最大要素 min(列) 最小要素 reversed(列) 反転した列 sorted(列) 整列した列 リスト.reverse() 反転 リスト.sort() 整列 [(式,式) for 変数 in 列] タプルのリストの生成 set(列) 集合への変換(重複除去) 集合.add(要素) 要素の追加 集合.remove(要素) 要素の削除 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 実習のホームページ 山田 俊行 https://www.cs.info.mie-u.ac.jp/~toshi/