ritarock’s blog

プログラミングとか映画とか趣味とか

pythonでlistから辞書を作る、辞書からjsonを作る

まずはlistから辞書を作る

list_col = ['col1', 'col2', 'col3', 'col4', 'col5']
list_data = [1, 2, 3, 4, 5]

dict_data = dict(zip(list_col, list_data))
print(dict_data) # {'col1': 1, 'col2': 2, 'col3': 3, 'col4': 4, 'col5': 5}

次に辞書からjsonを作る

import json

json_data = json.dumps(dict_data)
print(json_data) # {"col1": 1, "col2": 2, "col3": 3, "col4": 4, "col5": 5}

vimをちゃんとやる⑨

:sort

アルファベット順にソートできる

自動補完呼び出し方法一覧

コマンド 種類
<C-a> 汎用キーワード
<C-x><C-n> 現在バッファのキーワード
<C-x><C-i> インクルードされているファイルのキーワード
<C-x><C-]> tagsファイルのキーワード
<C-x><C-k> 辞書のルックアップ
<C-x><C-l> 行全体の補完
<C-x><C-f> ファイル名を補完
<C-x><C-o> オムニ補完

ポップメニューの操作

キー 操作
<C-n> 次のマッチ
<C-p> 前のマッチ
<C-y> 選択されているマッチを入力
<C-e> テキストに戻る

vimをちゃんとやる⑧

<C-r><C-w>

検索の自動補完

:%s/{文字}//gn

文字数をカウント

:%s/{対象文字}/{置換後の文字}/g

ファイルの対象文字を置換する
:s/{対象文字}/{置換後の文字} で初めの1文字 :s/{対象文字}/{置換後の文字}/g で行のみ
:%s/{対象文字}/{置換後の文字}/g でファイル全体

:%s/{対象文字}/{置換後の文字}/gc

1文字1文字置換するかどうか確認できる
qで終了
aでカーソル以降全て置換

:%s\=@0/g

レジスタ0の中身を対象に置換する

g&

直前の置換をファイル全体に適用する

gv

直前の選択範囲を再度選択する

csvのフィールドを入れ替える

/\v[^,]*,([^,]),([^,])$
:%s//\3,\2,\1
列選択して、順序入れ替え

2つの単語を入れ替える

/\v(<単語A>|<単語B>)
:%s//\={"単語A":"単語B","単語B":"単語A"}[submatch(1)]/g

vimをちゃんとやる⑦

\v

/\v で検索することで正規表現エンジンの振る舞いが切り替わる

\x

文字集合 [0-9a-fA-F] を \x で置き換える

\V

nomagic検索に切り替える
この場合、バックスラッシュだけが意味を持つ

/\v<検索したい単語>

単語単位で検索できる

<C-r>レジスタ

レジスタに検索したい文字をヤンクさせてから
/\v<C-r>レジスタ

?

前方一致検索

vimをちゃんとやる⑥

@@

直前に呼び出されたマクロを繰り返す

~

カーソル下の文字を大文字/小文字に変換する

マクロにコマンドを追記する

qa で記録したマクロならば、qAでレジスタaの内容に追記する

:put

:put {レジスタ} でレジスタ内容を挿入する 内容を編集してレジスタに格納することで新しいマクロとして使用可能

vimをちゃんとやる⑤

"{register}

"ayiw でレジスタaに単語をヤンク "ap でレジスタaの単語をプット

"0p

ヤンクレジスタは次のヤンクまで内容が留まる

:reg

レジスタの中身を見る

"_

ブラックホールレジスタ
消去専用レジスタ
"_diw で単語をレジスタに残さずに消去できる

"+

クリップボードのヤンクをプットできる

ビジュアルモードの選択範囲を置換

ビジュアルモードで置換対象を選択してヤンクヤンク内容をプット

インサートモードで<C-r>0

ヤンク内容をプット