LoginSignup
0
4

More than 5 years have passed since last update.

【memo】python3 Tips

Last updated at Posted at 2018-12-18

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

0
4
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
0
4