1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python3初心者が問題を解くときに引っかかったことメモ

Last updated at Posted at 2019-05-12

#はじめに
超初心者の自分用の備忘録なので間違ってたらごめんなさい。
#forとかifとか
###for文(複数行にわたって書く)

sumple1.py
n = 2
for i in range(n):
  print(i)
#0
#1

###for節(簡単なものは一行でも書ける。リスト内包表記という。)

sumple2.py
n = 2
a = [i for i in range(n)]
print(a)
#[0, 1]

###if文
thenはいらないけど「:」忘れない。
イコールは二つ繋げないといけない。

sumple3.py
a = 3
if a == 1:
  print('aは1です')
elif a == -1:
  print('aは-1です')
else:
  print('aは1と-1以外です')
#aは1と-1以外です

#input()のシミュレーションをinput.txtを使ってする方法
paizaのスキルチェック問題を受けるときに、
自分の環境でテストするための準備として、標準入力input()の代わりにinput.txtを
同じディレクトリに置いてテストするときのコード。
もっといい方法があるかもしれない。

sumple3.py
path = './input.txt'
with open(path) as f:
  line = f.readlines()
a = [i.strip() for i in line]     #strip()で改行の'¥n'を削除 

#numpyのarrayを括弧なしの空白区切りで中身だけ標準出力する方法
2次元配列を標準出力するときに

sumple4.py
import numpy as np

H = 2
W = 3
HW = H * W
x = np.arange(HW).reshape(H,W) #H行W列の2次元配列xを作成
for i in range(H):
  strtmp = ""
  for j in range(W):
    strtmp = strtmp + " " + str(x[i,j])
  print(strtmp[1:]) #行頭のスペースを消して出力する

#出力結果
#0 1 2
#3 4 5

#リストの要素を昇順・降順で並び替える方法

sumple5.py
a = [1,3,2,4]
a.sort()
print(a)
#[1, 2, 3, 4]
a.sort(reverse=True)
print(a)
#[4, 3, 2, 1]

#プログラムを途中で止める方法

sumple6.py
import sys
sys.exit()

#リストの重複している要素を抽出する方法

sumple7.py
l1 = [1, 3, 4]
l2 = [2, 3, 4]
l3 = [1, 2, 3, 9]
l = l1 + l2 + l3

dup = [x for x in set(l) if l.count(x) == 3]
print(dup)
#[3]

#リストの最大値のインデックスを取得する方法

maxで最大値、minで最小値。

sumple8.py
l1 = [1, 3, 4]
print(max(l1))
#4
print(l1.index(max(l1)))
#2

#リストの要素を数える方法

大きめのデータは、arr.count(x)よりもcollections.Counter(arr)の方がはやい
下の例は小さめのデータですが、len(a)が10**5とかでも2sec以内に収まるはず。
参考:ABC072 C

sumple9.py
import collections
n=int(input())
a=[3 1 4 1 5 9 2]
c=collections.Counter(a)
ans=1
for i in range(min(a),max(a)+1):
  goukei=c[i-1]+c[i]+c[i+1]
  ans=max(ans,goukei)
print(ans) #4
1
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?