Open12
Python豆知識

Pythonのsortedは安定(Stable)
In
data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]
print(sorted(data, key=lambda d: d[0]))
Out
[('blue', 1), ('blue', 2), ('red', 1), ('red', 2)]

Pythonにおいてミュータブルオブジェクトは同じ値を持ったとき、違うオブジェクトを参照することが保証されていますが、イミュータブルオブジェクトは同じオブジェクトを参照するときもあるし、そうでないときもあります。
つまり、
a = 1
b = 1
としたとき、
a
とb
は値1を持つ同じオブジェクトを参照する時としないときがあります。
しかし、
c = []
d = []
とすると、c
とd
は異なったリストを参照することが保証されています。

raw文字列は末尾が奇数個のバックスラッシュで終わるとエラーになるので注意。
In
path = r"C:\windows\name\desktop\"
Out
SyntaxError: unterminated string literal (detected at line 1)

公式ドキュメントで、
class range(start, stop[, step])
みたいに角かっこがついている場合がありますが、これはこの引数がオプションであることを表しているだけなので、角かっこを入力する必要はありません。

f-stringで
print(f'{ans=}')
と書くと
ans=○○
と変数名ごと出力されます。デバッグに便利。
In
year = 2023
place = 'Tokyo'
print(f'{year=}, {place=}')
Out
year=2023, place='Tokyo'

enumerate(A, x)でカウントをxから始められます。
In
color_lists = ["red", "yellow", "blue"]
for i, color in enumerate(color_lists, 5):
print(i, color)
Out
5 red
6 yellow
7 blue

公式ドキュメントにはGlossary(用語集)のページがあります。
Pythonにおける関連用語の意味を知るためにはもってこいです。

Pythonのコロン: は可読性を上げるためにある。

Pythonの最新バージョンの情報はここにあります。
今はPython3.13が最新です。

[:]でコピー、[::-1]で逆順のコピーを生成できます。
In
l1 = [1, 2, 3, 4]
l2 = l1[:]
l3 = l1[::-1]
print(l1)
print(l2)
print(l3)
Out
[1, 2, 3, 4]
[1, 2, 3, 4]
[4, 3, 2, 1]

matplotlibで使える色

r
とf
は両方つけることができる。
print("Hello\nWorld")
# Hello
# World
print(r"Hello\nWorld")
# Hello\nWorld
exclamation_mark = "!"
print(f"Hello\nWorld{exclamation_mark}")
# Hello
# World!
print(rf"Hello\nWorld{exclamation_mark}")
# Hello\nWorld!
print(fr"Hello\nWorld{exclamation_mark}")
# Hello\nWorld!