スニペット
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
#1.入力 s = input() #1.1 1個を1変数へ n = int(input) #1.2 1個を数値として1変数へ a,b,c = input().split() #1.3 1行に複数個を複数個の変数へ a,*b = input().split() #1.4 1行に複数個を複数個の変数へ list_ = input().split() #1.5 1行に複数個をリストへ #list_ = list(input().split()) #1.5 1行に複数個をリストへ。パターン2 list_ = list(map(int, input().split())) #1.6 1行に複数個を数値としてリストへ list_ = [input() for i in range(n)] #1.7 1個が複数行をリストへ list_ = list(int(input()) for i in range(n)) #1.8 1個が複数行を数値としてリストへ list_ = [input().split() for i in range(n)] #1.9 複数個が複数行をリストへ list_ = [list(map(int, input().split())) for i in range(n)] #1.10 複数個が複数行を数値としてリストへ #2.データ構造 #リスト list_ = [1,2,3,4,5] list_[n] #n番目のインデックスの要素を取得 list_.append(n) #リストに要素を追加 list_.pop(n) #n番目のインデックスの要素を削除 del list_[n] #n番目のインデックスの要素を削除 list_.remove(n) #指定した値を持つ要素を削除 list_.reverse() #リストを反転 list_2 = list_[::-1] #リストを反転して新規作成(元のリストは変更しない) list_ = sorted(list_) #昇順にソート list_ = sorted(list_, reverse=True) #降順にソート list2 = list_.copy() #リストの浅いコピー。一方を操作しても他方には無影響。ただし、二次元リストの場合内側のリストを操作すると影響あり。 list2 = list_ #別リストへの代入。同一オブジェクト。一方を操作すると他方にも影響 #辞書 dict_ = {1:"a", 2:"b", 3:"c", 4:"d", 5:"e"} dict_[n] = "N" #辞書に要素を追加 dict_.pop(1) #キーが1の要素を削除 del dict_[1] #キーが1の要素を削除 [key for key, value in dict_.items() if value=="a"] #値がaの要素を削除 dict_ = {value: key for key, value in dict_.items()} #キーと値を入れ替える dict_ = dict(sorted(dict_.items(), key=lambda item: item[1])) #辞書の値を基準にして昇順ソート dict_ = dict(sorted(dict_.items(), key=lambda item: item[1], reverse=True)) #辞書の値を基準にして降順ソート #Set set_ = set([1,1,2,2,3,3,4,4,5,5]) #Setオブジェクトの作成。{1,2,3,4,5} set_ = set(list_) #リストからSetを作成 set_.add(1) #Setに1を追加 set_.remove(1) #Setから1を削除 set_.discard(1) #Setから1を削除。1がない場合は何も起こらない [print(element) for element in set_] #Setの各要素を表示。インデックス指定などで取得は不可 set_.clear() #Setの全要素を削除 set_2 = set_.copy() #Setの浅いコピーを作成。一方を操作しても他方には影響がない #3.数学 #等差数列の和の公式。数列の総和を求める def arighmetic_sum(n, a1, an): return n*(a1+an)//2 #等比数列の和の公式。数列の総和を求める def geometric_sum(a1, r, n): return a1* (pow(r, n)-1)//(r-1) #4.アルゴリズム #二分探索 def binary_search(array, target): left, right = 0, len(array)-1 while left<=right: middle = (right + left)//2 if array[middle] == target: return middle elif array[middle] < target: left = middle + 1 else: right = middle - 1 return -1 #bit全探索。nは要素数。2択を試す回数 def bit_search(n): list_2 = [] for i in range(2**n): list_ = [0]*n for j in range(n): if (i>>j) & 1: list_[j] = 1 print(list_) list_2.append(list_) return list_2 |
コメント