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

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?