Python メモ
・無限大と負の無限大
# float型の無限大の値
x = float('inf')
# 負の無限大
x = -float('inf')
・Counter() クラスの使い方
from collections import Counter
x = [3,4,4,5,6,3]
c = Counter(x)
print(c)
for a,b in c.items():
print(' %d : %d' % (a,b))
# Counter({3: 2, 4: 2, 5: 1, 6: 1})
# 3 : 2
# 4 : 2
# 5 : 1
# 6 : 1
・条件式の書き方
# 条件分岐を用いた書き方
a,b,c = [10,5,20]
if b<10: a = b
else: a = c
# 条件式を用いた書き方
a,b,c = [10,5,20]
a = b if b<10 else c
「値1 if 条件式 else 値2」
条件式==trueなら、値1を返す。そうでないなら、値2を返す。
みたいな。
・辞書の使い方 基礎
# 辞書を宣言
dict = {}
# 辞書に要素を追加
dict['a'] = 1
dict['c'] = 3
# 要素を更新
dict['a'] *= 10
↑参考リンク dict
・リストのソート(指定なし、逆順)
x = [2,8,4,10,6]
x.sort()
# x = [2,4,6,8,10]
# x.sort(reverse=True) って書くと降順になる
・リストからpopする
arr = [2,4,6,8]
tmp = arr.pop(2)
# tmp <- 6
print(arr)
# [2, 4, 8]
・辞書をソート
x = {10: 100, 5: 25, 2: 4}
print(x)
xx = sorted(x.items(), key=lambda a:a[0]);
print(xx)
# [(2, 4), (5, 25), (10, 100)]
# valueで並べ替えるなら、a:a[1]にする
・リストの出力の仕方
(*をつけると空白区切りで出力し、最後の要素の後だけ空白ではなく改行を入れる)
a = [2,4,6]
print(a)
# [2, 4, 6]
print(*a)
# 2 4 6
・辞書をソート
a = {1:50, 10:500, 5:250}
a = sorted(a.items(), key=lambda x:x[0])
print(a)
# [(1, 50), (5, 250), (10, 500)]
↑ リンク
・powしてから余り求める
a = 7; b = 9; c = 1000;
print(pow(a,b))
# 40353607
print(pow(a,b,c))
# 607
・set型
s = set()
s.add(1)
s.add(2)
s.add(1)
print(s)
# {1, 2}
・キュー
import queue
q = queue.Queue()
q.put(0) # 0
q.put(2) # 2,0
q.put(1) # 1,2,0
x = q.get() # 1,2 → 0
print(x)
# 0
x = q.get() # 1 → 2
print(x)
# 2
・座標圧縮(?)
def zaatsu(a):
s = sorted(list(set(a)))
return {s[i]:i for i in range(len(s))}
# 丁寧に書くとこっち
def ZAATSU(a):
s = sorted(list(set(a)))
t = {}
for i in range(len(s)):
t[s[i]] = i
return t
a = [0,50,30,13,11,29]
print(zaatsu(a))
# {0: 0, 11: 1, 13: 2, 29: 3, 30: 4, 50: 5}
この記事が気に入ったらサポートをしてみませんか?