pythonプログラミング初心者が調べた個人的メモです。
・入力
input_word = input()
・出力
print(input,end="") ←改行されない
print(*input_list) ←リストの要素が空白有りで連続で1行で出力される
print(f'{output:02}') ←数値を2桁に0埋めして出力
・型変換
number = int(input_word) ←int型に変換
string = str(number) ←str型に変換
・数値操作
abs(number) ←絶対値
math.ceil(number) ←切り上げ
math.floor(number) ←切り捨て
・文字列の特定箇所を抽出
number = input_word[2:5] ←3文字目から5文字目
number = input_word[-2:] ←後ろから2文字
number = input_word[:-2] ←後ろから3文字まで
・文字列操作
len(input_word) ←文字数を出力
input_word.replace('a', 'b') ←置換
input_word.replace('a', 'b',3) ←置換(最大置換回数指定)
re.sub(r'[a-z]+', 'xxx', input_word) ←置換(正規表現)
re.sub(r'[a-z]+', 'xxx', input_word,3) ←置換(正規表現,最大置換回数指定)
input_word.translate(str.maketrans({'o': 'O', 't': 'T'})) ←長さ1の文字を複数置換
input_word.translate(str.maketrans('abcde', 'ABCDE')) ←置換
input_list = input_word.split(" ") ←空白区切りのリスト化
input_list = list(input_word) ←1文字ずつのリスト化
input_list = [input[i:i+1] for i in range(input_word)] ←上と同じ結果
・リスト
list = ["" for i in range(5)] ←5要素の空リスト作成
list = [""] * 5 ←上と同じ結果
list = [["" for i in range(5)] for j in range(5)] ←5×5要素の空リスト作成
input_list.append("new") ←要素追加
input_list.remove("new") ←要素削除
input_list.pop() ←最終要素を出力と削除
input_list.index("test") ←特定要素("test")のindex番号出力
max(input_list) ←最大値出力
len(input_list) ←リストの要素数出力
input_list.sort() ←ソート
input_list.sort(key=lambda x:x[0]) ←2次元リストの1要素目を昇順ソート
input_list.sort(key=lambda x:x[1], reverse=True) ←2次元リストの2要素目を降順ソート
input_list.sort(key=itemgetter(1)) ←2次元リストの1要素目を昇順ソート
list(set(input_list)) ←ユニーク化(元のリストの順序を保持しない)
list(dict.fromkeys(input_list)) ←ユニーク化(元のリストの順序を保持)
sorted(set(input_list), key=input_list.index) ←ユニーク化(元のリストの順序を保持)
input_list2 = input_list[:] ←1次元リストのコピー
input_list2 = [x[:] for x in input_list] ←2次元リストのコピー
list(itertools.combinations(input_list,5)) ←組み合わせのリスト出力
・辞書型
dict1 = {} ←空の辞書型作成
dict1["a"] = 1 ←要素追加
if "a" in dict1: ←要素存在確認
del dict1["a"] ←要素削除
for value in dict1.values(): ←値の出力
print(value)
for key,value in dict1.items(): ←キー、値の出力
print(key,value)
・deque
from collections import deque
queue = deque(["Eric", "John", "Michael"])
queue.append ←右側に追加
queue.appendleft ←左側に追加
queue.insert(i,x) ←xをi+1番目に挿入
queue.pop() ←右側の要素を削除
queue.popleft() ←左側の値を削除
queue.value(x) ←最初のxを削除
queue.rotate(n) ←nステップ右にローテート
queue.rotate(-n) ←nステップ左にローテート
queue.count("Eric") ←引数と等しい値の個数を出力
・if文
if a == "a" and b != "b":
文
elif c <= 1 or "test" not in input_list:
文
elif re.search("te.t",input): ←正規表現"te.t"がinputに含まれるか
文
else:
文
・enumerate関数
for i, name in enumerate(input_list):
print(i, name) ←リストのindexと値を出力
for i, name in enumerate(("a","b"),1):
print(i, name) ←順番と値を出力、第2引数に1番目のindex番号を指定(デフォルトは0)
※参考
・組み合わせ
https://qiita.com/junkls/items/10384950963056cc8e08
・ソートHow to
https://docs.python.jp/3.5/howto/sorting.html