Python基礎(データ型と制御構文)

DS検定で問われるPython最低限。型・コレクション・制御構文・リスト内包表記を一通り。

データ分析で必須のPython基礎。型・コレクション・制御構文を最低限押さえます。

白峰 リリ(普段) 白峰 リリ

Pythonって初心者でも使えるって聞くけど、あたし何から始めればいい?

神楽 モニカ 先生(笑顔) 神楽 モニカ 先生

まずはデータ型とコレクションと制御構文。 これがあれば大体読めるようになるわ。

紅林 かえで(普段) 紅林 かえで

補足すると、基本データ型はint(整数)、float(小数)、str(文字列)、bool(真偽値)。 コレクションはlist(リスト)、dict(辞書)、tuple(タプル)、set(集合)ね。

# 基本データ型
age = 25                    # int
price = 1980.5             # float
name = 'たかし'              # str
is_member = True            # bool

# コレクション
scores = [80, 92, 75, 88]   # list (順序あり、変更可)
user = {'name': 'たかし', 'age': 25}   # dict (キー値ペア)
rgb = (255, 128, 0)         # tuple (順序あり、変更不可)
tags = {'data', 'science'}  # set (重複なし、順序なし)

# リスト操作
scores.append(95)           # 末尾追加
first = scores[0]           # インデックス
subset = scores[1:3]        # スライス
n = len(scores)             # 要素数

# 辞書操作
user['email'] = 'a@b.com'   # キー追加・更新
name = user.get('name', '不明')  # キー取得(なければデフォルト)
藍沢 しずく(普段) 藍沢 しずく

list と tuple は何が違うんですかぁ?

紅林 かえで(普段) 紅林 かえで

list は変更可(append, removeなど)、tuple は変更不可。 不変だからキーや関数引数として安全に使える。 高速で省メモリなのも特徴。

白峰 リリ(笑い) 白峰 リリ

辞書って便利だね! キーで一発で取り出せるじゃん。

神楽 モニカ 先生(普段) 神楽 モニカ 先生

そうそう、データの構造化に強いのよ。 制御構文も基本を押さえましょう。

# 制御構文
for score in scores:
    if score >= 80:
        print(f'合格: {score}')
    else:
        print(f'不合格: {score}')

# リスト内包表記 (頻出パターン)
passed = [s for s in scores if s >= 80]
doubled = [s * 2 for s in scores]

# 関数定義
def calc_grade(score):
    if score >= 90:
        return 'A'
    elif score >= 80:
        return 'B'
    return 'C'

grades = [calc_grade(s) for s in scores]
藍沢 しずく(笑顔) 藍沢 しずく

リスト内包表記って便利ですねぇ♪ for を1行で書けるの素敵♪

紅林 かえで(普段) 紅林 かえで

ええ、Pythonらしい記法ね。 速度も普通のforループより速いし、DS検定★でも頻出のコード読解パターンよ。

確認クイズ

次のPythonコードの結果として正しいのはどれか。 result = [x*2 for x in [1,2,3,4] if x % 2 == 0]

  1. [2, 4, 6, 8]
  2. [4, 8]
  3. [2, 4]
  4. [1, 3]
こたえを見る

正解: 2. [4, 8]

[4, 8]。 [1,2,3,4]の中で偶数(x%2==0)のみ→[2,4]、それを2倍→[4,8]。 リスト内包表記は条件で絞り込みつつ変換できる便利な記法です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。