Python競プロ豆知識集
1.配列の中身だけ並べて出す
l = [1,2,3]
print(l) # [1,2,3]
print(*l) # 1 2 3
print(" ".join(l)) # 1 2 3
2.アルファベットの文字列
Pythonでは標準ライブラリとしてAからZまで繋げた文字列が用意されている。
import string
print(string.ascii_uppercase) # ABCDEFGHIJKLMNOPQRSTUVWXYZ
3.forの違う書き方(indexも一緒に)
l = ["Bob","Takahashi","sunuke"]
for i in l:
print(i)
結果
Bob
Takahashi
sunuke
for i,name in enumerate(l):
print(i,name)
結果
0 Bob
1 Takahashi
2 sunuke
4.連続する数字の配列を作成する
test = list(range(10))
print(test) # [0,1,2,3,4,5,6,7,8,9]
test2 = list(range(-5,6))
print(test2) # [-5,-4,-3,-2,-1,0,1,2,3,4,5]
5.配列の要素を削除して取得
l = [0,10,20,30,40,50]
print(l.pop(0)) # 0
print(l) # [10,20,30,40,50]
print(l.pop(-1)) # 50
6.四捨五入
from decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN
f = 123.456
print(Decimal(str(f)).quantize(Decimal('0'), rounding=ROUND_HALF_UP))
# 123
print(Decimal(str(f)).quantize(Decimal('0.1'), rounding=ROUND_HALF_UP))
# 123.5
print(Decimal(str(f)).quantize(Decimal('0.01'), rounding=ROUND_HALF_UP))
# 123.46
7.文字の数式を数の数式として処理する
a = eval("1 + 2")
print(a) # 3
8.文字を実行する
exec("a = 2 + 3")
exec(print(a)) # 5
9.ソートと逆ソートとsorted(二次元配列のソートも)
t = [3, 1, 4, 5, 2]
t.sort()
# [1,2,3,4,5]
t.sort(reverse=True)
# [5,4,3,2,1]
tt = [[1, 200, 30],[20, 3, 100],[300, 10, 2]]
sorted(tt, key=lambda x: x[2])
# [[300, 10, 2],[1, 200, 30],[20, 3, 100]]
10.配列の指定した範囲の合計
li = [1,2,3,4,5,6]
print(sum(li[1:3])) # 2+3で5が出力される
11.階乗
import math
print(math.factorial(5)) # 120
print(math.factorial(0)) # 1
ここから先は
3,165字
¥ 100
この記事が気に入ったらサポートをしてみませんか?