LoginSignup
0
1

More than 3 years have passed since last update.

辞書ファイルから、n字違いの文字列を探し出すコード

Last updated at Posted at 2019-06-30

辞書ファイルから、引数に与えられた文字列から、n文字違う文字列を探し出して列挙するコードです。使い方は、$ ./kol.py ことば または、$ ./kol.py ことば nとして下さい。nを省略するとnは1となります。

辞書ファイルフォーマット

あいうえお\n
かきくけこ\n
さしすせそ\n

または、
abcde\n
fghij\n
klmno\n

のように、辞書ファイルは、\nで区切られたテキストファイルなら良いです。
出力見本は、jm.txtという、jmdicから抽出したひらがなの名詞ばかりの日本語辞書を使いましたが、辞書ファイル自体は、著作権の関係で、公開できません。辞書ファイルを変えたかったら、コード中の「辞書ファイル」というコメントのある行のファイル名を変えて下さい。

コード

kol.py
#!/usr/bin/python3

import sys
args=sys.argv
ins=args[1]

if len(sys.argv)==3:
  n=int(args[2])
else:
  n=1

ld = open ("jm.txt") # 辞書ファイル
lines = ld.readlines()
ld.close()

for line in lines:
  l=len(line)-1
  d = 0
  if l==len(ins):
    i = 0
    while(i<l):
      if line[i]!=ins[i]:
        d+=1
      i+=1
    if d==n:
      print(line.rstrip('\n'))

実行結果(出力見本)

$ ./kol.py ことば
けとば
こうば
こしば
ことう
ことく
ことざ
ことし
ことじ
ことに
ことね
ことの
ことみ
ことり
こはば
こまば
そとば
はとば
まとば
$
0
1
5

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
1