Python 備忘録あれこれ
目次
1 : ord(), chr()
2 : abs()
3 : map()
4 : lambda
5 : リスト内包表記
6 : ソート
7 : len(list)
8 : split()
9 : 複数の値の受け方(競プロ)
10 : n進数
11 : pow()
12 : complex型
1 ord(), chr()
ord()関数
ord(“文字列”)
返り値はunicodeコードポイントを表す整数。
*引数は1つだけしか取れない
chr()関数
ord()の逆操作。コードポイントから文字列を取得。
chr(unicodeコードポイント)
2 abs()
引数の絶対値を取得
3 map(関数, イテラブル)
e.g.
n, m = map(int, input().split())
4 lambda
lambda 引数 :式
5 リスト内包表記
・リスト
[式 for 変数 in リスト if 条件]
・ディクショナリ
{式 : 式 for 変数 in リスト if 条件}
・セット
{式 for 変数 in リスト if 条件}
・ジェネレータ
(式 for 変数 in リスト if 条件)
更新(2020/02/07)
p.s. 久保史緒里かわいい
6 ソート
sort() method
sorted() function 新しいリストを作成
デフォルトは昇順, 引数に reverse = True をとると降順
文字列のソート
sorted(“文字列”):ソートされた文字列のリストを返す(Unicodeコードポイントの順)
(文字列に戻すにはjoin() method)
new_str = “”.join(list)
同様に引数にタプルを取るとソートされたlistを返す
7 len(list)
8 split() method
str.split(sep)
#strをsepを区切り文字列としてlistを生成 (sepを設定しないとスペース)
9
list(map(int, input().split()))
or
[int(x) for x in input().split()]
#sortedに渡せば最初からソートされたlist
10 n進数
プレフィックスについて
int型につけるとその進数
0b, 0o, 0x
print()の記述は10進数
int(str, 基数)
#組み込み関数(プレフィックスのついた文字列を返す)
bin()
oct()
hex()
#format() 関数, str.format() メソッド
format(i, “b”)
第2引数を書式化文字列(”b”, “o”, “x”)
11 pow()
pow(x, y, z) # (x**y)%z
12 complex型
虚数単位:j (先に変数として使うとダメ、虚部が1のときも1jとしないとエラー)
or
コンストラクタ :complex(実部, 虚部)
.real, .imag 属性で実部と虚部を取得
.conjugate() メソッドで共役な複素数
大きさは abs()
c = 3 + 1j
c = complex(3, 1)
a = c.real #3
b = c.imag #1
z = c.conjugate() #3 - 1j
math, cmath モジュール
・arg
math.atan2() #Arctan
cmath.phase()
・polar form
cmath.polar() #タプル(r, arg)
cmath.rect(r, arg) #極形式から直交座標
おまけ
平方根 cmath.sqrt()