Pythonの基本メモ

Pythonで使える演算子

演算子 意味 結果
x // y xをyで割った商の小数点以下切り捨て 10//3 3
x % y xをyで割った商のあまり 10 % 3 1
x ** y xのy乗 3 ** 3 27
abs(x) xの絶対値 abs(-3) 3
int(x) xを整数に変換 int(3.16) 3
float(x) xを浮動小数点数に変換 float(3) 3.0
round(x[,n]) xをn桁に丸める round(3.6) 4

メソッド

format()メソッド
  • 文字列を名前付きで埋め込む
man = 10
woman =10
room = "男が{0}人、女が{1}人".format(man , woman )

#文字列を名前付きで埋め込む
print("部屋に男は{man}人いる。").format(man = 10)

fmt = "部屋に男は{man}人、女が{woman}人いる。"
s = fmt.format(man = 10, woman = 10)

range()メソッド

range()の使い方

  1. range(回数)
  2. range(開始値, 終了値 + 1)
  3. range(開始値, 終了値 + 1, ステップ値)

条件分岐

ifの「pass」文

真の処理を空にして、偽だった時の処理だけを書きために「pass」を使う。

n = 5
if n = 3:
  pass
else:
  print(n)

繰り返し処理

繰り返し中止と継続

breakで繰り返しの処理を中止し、continueで1つの処理を中止し継続して実行を続ける。

for i in range(10):
  print(i)
  if i == 3: break
  #結果 0, 1, 2. 3

for i in range(5):
  print(i)
  if i >= 3:continue
    print("hello")
  #実行結果 0, hello, 1, hello, 2 , hello, 3, 4, 5

リスト・タプル・集合型

種類 特徴 生成方法
リスト(list) 複数の値を持つことができる [0, 1, 2]
タプル(tuple) 要素を変更できないタプル (0, 1, 2)
集合型(set) 要素を重複できないリスト {0, 1, 2}

リスト

リストを使うことで複数の値を1つの変数で管理できる。

points = [80, 75, 81, 65, 57]

points[1]    # 結果 80

#要素数を調べる
points.len()    #結果 5

# リストの値の合計
sum(points)    #結果 358

# 削除
del points[2]   #結果 [80, 75, 65, 57]
del points[2:4]    #結果 [80, 75, 57]

スライス スライスをすることでリストの一部を取り出すことができる。

リスト[ 開始 : 終了- 1 ]
リスト[ 開始 : 終了 - 1 : ステップ ]

# スライス
points[1:3]    #結果 [75, 81]
pints[:3]    #結果 [80, 75, 81]
points[::2]    #結果 [80, 81, 57]
メソッド 意味 結果(list = ["A", "C", "B"])
append(x) xをリストの末尾に追加する list.append("D") ["A", "C", "B", "D"]
extend(L) 異なるリストLを末尾に追加する list.expend("D", "E") ["A", "C", "B", "D", "E"]
insert(i, x) インデックスiの位置にxを代入する list.inser(1, "D") ["A","D", "C", "B"]
remove(x) リストの中にあるxを削除(最初の要素のみ) list.remove("B") ["A", "C"]
pop() リストの末尾にある要素を取り出し、リストから削除する list.pop()
list = pop(1)
["A","C"], ["A","B"]
clear() リストの全要素を削除(del a[:]と同じ) list.clear()
index(x) リストからxを探してその位置を返す list.index("B") 2
count(x) リストの中にxがいくつあるかカウントする list.count("C") 1
sort(key, reverse) リストを昇順に並び替える(reverse = Trueで降順) list.sort() ["A", "B", "C"]
reverse() リストの要素を逆順にする list.reverse ["B", "C", "A"]

データ構造についての公式リファレンス

タプル

タプルはリストと違い要素を変更することができない。間違って要素を削除したくない場合に使う。

a = (10, 20, 30)

# スライス
a[2]    #結果 30
a[:2]    #結果 (10, 20)

a[1] = 50    #-->エラーになる
変換
タプルからリストに変換 list(タプル)
リストからタプルに変換 tuple(リスト)

 集合型(set)

特徴 * 重複する値を持たせることができない * 順序を付けられない * 演算を行える(結合・交差・差分・対象差) * 生成方法は波括弧{...}かset()関数 * 空集合を作成するためには 波括弧{} ではなくset()関数 を使用しなければならない * 複数の集合型の結合は「 | 」 * 2つの集合型に共通する値だけを取り出したい場合には「 & 」 * inを用いて、要素が集合に含まれているかを調べる

color = {"red", "green", "white"}    

e = set()    #空集合を作成はset()関数を使わなければいけない
color2 = set({"red", "white"})

#差分
color - color2    #結果 {'green'}

#inを用いて、要素が集合に含まれているかを調べる
"red" in color2    #結果 True

#結合
color | color2    # 結果  {"red", "green", "white"}

#共通項
color & color2    # 結果  {"red", "white"}

辞書型

リストはインデックス番号で値を参照するのに対し、辞書型は任意のキー文字列で値を参照する。 

# データの作成(順番は保持されない)
ages = {'Nick':22, 'Jack':53, 'Paulo':18}

print(ages['Nick'])    #結果 22
# データの更新
ages['Nick'] = 23    

# inを用いて、要素が集合に含まれているかを調べる
'Nick' in ages   #結果 True

# for文との組み合わせ
for name, num in ages.items():
    s = "{0}は{1}歳".format(name, num)
    print(s)    #結果 Nickは22歳 Jackは53歳 Pauloは18歳
メソッド 意味 結果
d.keys キーの列挙 ages.keys() dict_keys(['Nick', 'Jack', 'Paulo'])
list(d.keys()) キーの一覧をリストで得る list(ages.keys()) ['Nick':22, 'Jack':53, 'Paulo':18]
sorted(d.keys()) キーの一覧をソート済みのリストで得る sorted(ages.keys()) ['Jack', 'Nick', 'Paulo']
d.values() 値の一覧を得る ages.values() dict_values([22, 53, 18])
list(d.items()) (キー, 値)のタプルのリストで一覧を得る list(ages.items()) [('Nick', 22), ('Jack', 53), ('Paulo', 18)]