【python】paizaやAtCoderなどでよく使うコード一覧(初心者向け)

2021年9月4日

はじめに

この記事ではpaizaAtCoderなどでよく使っているコードをまとめました。Bランクのくらいの問題を解くことを想定しております。

input()の処理

2つの値

# A B
x,y = input()

複数の文字や値

# a 3 T 4
s = input().rstrip().split(' '))
# ['a','3','T','4']

数字も文字列になってしまうことに注意


数字の配列

# 1 3 5 7
s =list(map(int,input().rstrip().split(' ')))
# [1,3,5,7]

文字列を配列に

# ...###...
s = list(input())
# ['.','.','.','#','#','#','.','.','.']

並び替え(ソート)

配列そのものを並び替える

l = ['C', 'A', 'B']
l.sort()
# ['A','B','C']

並び替えた配列を新しい配列にする

「reverse=True」をつけると逆順になる

l1 = ['C', 'A', 'B']
l2 = sorted(l1)
l3 = sorted(l1, reverse=True)

print(l1) # ['C', 'A', 'B']
print(l2) # ['A', 'B', 'C']
print(l3) # ['C', 'B', 'A']

2次配列の並び替え(ソート)

l1 = [
[1, 20, 100],
[5, 10, 200],
[18, 40, 300]]

l2 = sorted(l1, key=lambda x: x[1],reverse=True) #要素の1つ目を基準に並び替え

# l2 = [
# [18, 40, 300],
# [1, 20, 100],
# [5, 10, 200]]

配列のフィルター

イテレーターで返ってくるのでlist()を忘れないように

一次配列

l = [-2, -1, 0, 1, 2]
l2 = filter(lambda x: x > 0, l)
print(list(l2))
# [1,2]

2次配列

l = [[3,-2], [4,-1], [1,0], [-2,1], [-5,2]]
l2 = filter(lambda x: x[1] > 0, l) #2つ目の要素が0より大きい
print(list(l2))
# [[2,1],[5,2]]

map関数

詳細はこちら

l=[1,-3,2,-4,-5,1] 
l2=list(map(lambda x:x+10,l))
print(l2)
#[11, 7, 12, 6, 5, 11]

True/Falseを1行で切り替える

意外と便利

flg = flg == False

Queueモジュール

一定の順番で、複数のデータの挿入、取り出しが行えるライブラリ。

import queue

q = queue.Queue()

for i in range(5):
    q.put(i)

while not q.empty():
    print(q.get())

classのテンプレート

class Robot:
    y = 0
    x = 0

    # 初期化
    def __init__(self, x, y):
        self.y = y
        self.x = x
        
    # x方向に進む
    def move_x(self,n): 
        self.x += n
        
robo = Robot(2,2) # (2,2)にRobotを配置
robo.move_x(3)    # Robotをx方向に3すすめる

python,未分類

Posted by Next-k