ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
インデックス参照の基本
fruits = ['apple', 'banana', 'cherry', 'date']
# 正のインデックス (0 始まり)
fruits[0] # 'apple'
fruits[1] # 'banana'
fruits[3] # 'date'
# 負のインデックス (末尾から)
fruits[-1] # 'date'
fruits[-2] # 'cherry'
# 範囲外は IndexError
fruits[10] # IndexError: list index out of range
# 安全に取りたいなら try / except か len() チェック
if len(fruits) > 10:
x = fruits[10]
スライス [start:stop:step]
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
nums[2:5] # [2, 3, 4] start=2, stop=5 (5 は含まない)
nums[:3] # [0, 1, 2] 先頭から 3 件
nums[7:] # [7, 8, 9] 7 から末尾まで
nums[:] # [0,1,..,9] 全コピー (浅いコピー)
# step
nums[::2] # [0,2,4,6,8] 2 飛ばし (偶数番目)
nums[1::2] # [1,3,5,7,9] 1 始まりで 2 飛ばし
nums[::-1] # [9,8,..,0] 逆順
nums[::-2] # [9,7,5,3,1] 逆順 2 飛ばし
# スライスは IndexError にならない
nums[100:200] # [] 空リスト
nums[-100:3] # [0,1,2]
2 次元リストへのアクセス
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
matrix[0] # [1, 2, 3] (1 行目)
matrix[0][1] # 2 (1 行目 2 列目)
matrix[-1][-1] # 9
# 行を取り出す
row = matrix[1] # [4, 5, 6]
# 列を取り出す (リスト内包)
col1 = [r[0] for r in matrix] # [1, 4, 7]
# NumPy なら直接スライス
import numpy as np
a = np.array(matrix)
a[:, 0] # array([1, 4, 7]) 全行の 1 列目
a[1, :] # array([4, 5, 6]) 2 行目全列
a[0:2, 1:3] # [[2,3],[5,6]] 部分行列
enumerate でインデックスと値を同時取得
fruits = ['apple', 'banana', 'cherry']
# ❌ インデックスを別途管理 (Pythonic でない)
for i in range(len(fruits)):
print(i, fruits[i])
# ✅ enumerate
for i, fruit in enumerate(fruits):
print(i, fruit)
# 0 apple
# 1 banana
# 2 cherry
# 開始番号を変えたい
for i, fruit in enumerate(fruits, start=1):
print(i, fruit)
# 1 apple
# 2 banana
# 3 cherry
zip で複数リストの並列処理
names = ['Taro', 'Hanako', 'Jiro']
ages = [30, 25, 40]
roles = ['admin', 'user', 'user']
for name, age, role in zip(names, ages, roles):
print(f"{name} ({age}) - {role}")
# 辞書化
people = dict(zip(names, ages))
# {'Taro': 30, 'Hanako': 25, 'Jiro': 40}
# Python 3.10+ zip(strict=True) で長さチェック
list(zip(names, ages, strict=True)) # 長さ違うと ValueError
要素の検索: index / count / in
fruits = ['apple', 'banana', 'apple', 'cherry']
# in 演算子 (存在チェック)
'apple' in fruits # True
'grape' in fruits # False
'grape' not in fruits # True
# index() で位置取得 (最初に見つかったもの)
fruits.index('apple') # 0
fruits.index('grape') # ValueError
# 安全に
if 'grape' in fruits:
idx = fruits.index('grape')
# count() で出現回数
fruits.count('apple') # 2
fruits.count('grape') # 0
タプル / 文字列との比較
| 操作 | list | tuple | str |
|---|---|---|---|
[0] 参照 | ✅ | ✅ | ✅ (1文字) |
| スライス | ✅ | ✅ | ✅ |
要素変更 ([0] = x) | ✅ 変更可 | ❌ TypeError | ❌ |
append / pop | ✅ | ❌ | ❌ |
| ハッシュ化 (dict キー) | ❌ | ✅ | ✅ |
スライス代入と削除
nums = [0, 1, 2, 3, 4, 5]
# 範囲をまとめて置換 (個数違っても OK)
nums[1:3] = [10, 20, 30] # [0, 10, 20, 30, 3, 4, 5]
# 範囲削除
del nums[1:4] # [0, 3, 4, 5]
# 全削除
nums[:] = []
# 末尾 1 件削除 ≒ pop()
nums = [1, 2, 3]
del nums[-1] # [1, 2]
nums.pop() # 同じ
FAQ
Q: list[-1] と list[len(list)-1] の違い
A: 結果は同じですが、-1 が Pythonic で短いです。
Q: スライスはコピー?参照?
A: 浅いコピーを作ります。a[:] でリストの複製は OK ですが、内部要素 (ネストされた list / dict) は参照共有。深いコピーは copy.deepcopy()。
Q: 範囲外スライスがエラーにならない理由
A: 設計思想として「失敗より空を返す」。nums[100:200] は空リスト [] を返します。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?