python实现日语单词索引:查询单词对应的课【python实用总结】

咦,这个单词是第几课的来着?欸,那个单词不是刚在第几课学过的……一旦新标日初级(第二版)进度过第12课(甚至第6课,单词就越来越难1了。当你为了某个单词翻遍每课的生词表的时候,当你发现附录的总词汇表是按五十音顺序排列且没有索引的时候(一般词典里,英语按26个字母排序,中文同样按26个字母排序,日语则按五十个罗马音排序……查词难度直接几何级数增加),当你想到

一切机械化的程序都可以由电脑代为实现——Mrs.qxm

的时候,这段不到100行(其中48行作为词库)的程序便诞生了。在此一并回顾下python的基本应用:

本程序算法逻辑的自然语言描述:建立起单词的对应关系,使得对单词的检索可以直接输出——一提到对应关系,首先想到:字典。

但是,

注意到,字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典是集合类型的延续,所以各个元素并没有顺序之分。如果想保持一个集合中元素的顺序,需要使用列表,而不是字典。

因此选择建立4个列表,像表格一样索引——(若日后考虑重新添加分类,可使用zip()方法)

zip()是一个内置函数,能够将两个长度相同的列表组合成一个关系对,该函数非常适合于生成键值对。

# 新版中日交流标准日本语·单词索引
# 一、单词总列表
vocabulary = []# 总词汇表
unit = []# 总课列表
means = []# 释义存
nature = []# 词性存
# 二、1,2,...48课单词表导入:假名(kana)、汉字(kannji)、释义(means)、词性(nature)

      • 附录:借助*Excel*、*Word*和*记事本*,在1分钟之内导入课单词表

#第一单元
kana1 = ['ちゅうごくじん','にほんじん','かんこくじん','アメリカじん','フランスじん','がくせい','せんせい','りゅうがくせい','きょうじゅ','しゃいん',\'かいしゃいん','てんいん','けんしゅうせい','きぎょう','だいがく','ちち','かちょう','しゃちょう','でむかえ','あのひと',\'わたし','あなた','どうも','はい','いいえ','あっ','り','おう','ちょう','もり',\'はやし','おの','よしだ','たなか','なかむら','たろう','キム','デュポン','スミス','ジョンソン',\'ちゅうごく','とうきょうだいがく','ペキンだいがく','ジェ-シ-きかく','ペキンりょこうしゃ','にっちゅうしょうじ','こんにちは','すみません','どうぞ','よろしくおねがいします',\'はじめまして','こちらこそ','そうです','ちがいます','わかりません','どうもすみません','~さん/~ちゃん/~君(くん)']
kannji1 = ['中国人','日本人','韓国人','America人','France人','学生','先生','留学生','教授','社員','会社員','店員','研修生','企業','大学','父','課長','社長','出迎え','あの人','(私)','(貴方)','.','.','.','.','李','王','張','森','林','小野','吉田','田中','中村','太郎','金','Du Pont','Smith','Johnson','中国','東京大学','北京大学','JC企画','北京旅行社','日中商事','(今日は)','(済みません)','.','(宜しく)お願いします','(初めまして・始めまして)','.','(然うです)','(違います)','分かりません','(どうも済みません)','.']
means1 = ['中国人','日本人','韩国人','美国人','法国人','(大)学生','老师','留学生','教授','职员','公司职员','店员','进修生','企业','大学','(我)父亲','科长','总经理,社长','迎接','那个人','我','你','非常,很','哎,是(应答);是的','不,不是','哎,哎呀','李','王','张','森','林','小野','吉田','田中','中村','太郎','金','迪蓬','史密斯','约翰逊','中国','东京大学','北京大学','JC策划公司','北京旅行社','日中商社','你好','对不起;请问','请','请多关照','初次见面','我才要(请您)','是(这样)','不是','不知道','实在对不起','.']
nature1 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','代','代','副','叹','叹','叹','专','专','专','专','专','专','专','专','专','专','专','专','专','专','专','专','专','专','专','专','.','.','.','.','.','.','.','.','.','.','.']

kana2 = ['ほん','かばん','ノ-ト','えんぴつ','かさ','くつ','しんぶん','ざっし','じしょ','カメラ','テレビ〈テレビジョン〉','パソコン〈パ-ソナル-コンピュ-タ-〉','ラジオ','でんわ','つくえ','いす','かぎ','とけい','てちょう','しゃしん','くるま','じてんしゃ','おみやげ','めいさんひん','シルク','ハンカチ〈ハンカチ-フ〉','かいしゃ','かた','ひと','かぞく','はは','おかあさん','にほんご','ちゅうごくご','これ','それ','あれ','どれ','なん','だれ','どなた','この','その','あの','どの','えっ','わあ','ええ','ながしま','にほん','スワトウ','ロンドン','ありがとうございます','おいくつ','何(なん)~/~歳(さい)']
kannji2 = ['本','(鞄)','note','鉛筆','傘','靴','新聞','雑誌','辞書','camera','television','personal computer','radio','電話','机','(椅子)','(鍵)','時計','手帳','写真','車','自転車','お土産','名産品','silk','handkerchief','会社','方','人','家族','母','お母さん','日本語','中国語','(此れ・之)','(其れ)','(彼)','(何れ)','何','(誰)','(何方)','(此の)','(其の)','(彼の)','(何の)','.','.','.','長島','日本','(汕頭)','London','(有り難うご座います)','(お幾つ)','.']
means2 = ['书','包,公文包','笔记本,本子','铅笔','伞','鞋','报纸','杂志','词典','照相机','电视机','个人电脑','收音机','电话','桌子,书桌','椅子','钥匙,锁','钟,表','记事本','照片','车','自行车','礼物','特产,名产','丝绸','手绢','公司','(敬称)位,人','人','家属,家人','(我)母亲','母亲','日语','汉语,中文','这,这个','那,那个','那,那个','哪个','什么','谁','哪位','这,这个','那,那个','那,那个','哪个','啊','哇','(应答)嗯,是','长岛','日本','汕头','伦敦','谢谢','多大','.']
nature2 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','代','代','代','疑','疑','疑','疑','连体','连体','连体','连体','叹','叹','叹','专','专','专','专','.','.','.']

kana3 = ['デパ-ト〈デパ-トメント-ストア〉','しょくどう','ゆうびんきょく','ぎんこう','としょかん','マンション','ホテル','コンビニ〈コンビニエンス-ストア〉','きっさてん','びょういん','ほんや','レストラン','ビル〈ビルディング〉△','たてもの','うりば','トイレ〈トイレット・トイレット-ル-ム〉','いりぐち','じむしょ','うけつけ','バ-ゲンかいじょう','エスカレ-タ-','ふく△','コ-ト','デジカメ〈デジタルカメラ〉','くに△','ちず△','となり','しゅうへん','きょう','すいようび','もくようび','ここ','そこ','あそこ','こちら','そちら','あちら','どこ','どちら','あのう','シャンハイ','とうきょう','いくら','お~/~階(かい)/~円(えん)/~曜日(ようび)']
kannji3 = ['department store','食堂','郵便局','銀行','図書館','mansion','hotel','convenience store','喫茶店','病院','本屋','restaurant','building','建物','売り場','toilet','入り口','事務所','受付','bargain会場','escalator','服','coat','digital camera','国','地図','隣','周辺','今日','水曜日','木曜日','(此所・此処)','(其処・其所)','(彼所・彼処)','(此方)','(其方)','(彼方)','(何処)','(何方)','.','上海','東京','(幾ら)','(御~)/']
means3 = ['百货商店','食堂','邮局','银行','图书馆','(高级)公寓','宾馆','便利店','咖啡馆','医院','书店','餐馆,西餐馆','大楼,大厦','大楼,建筑物','柜台,出售处','厕所,盥洗室','入口','事务所,办事处','接待处','降价处理大卖场','自动扶梯','衣服','风衣,大衣','数码相机','国,国家','地图','旁边','附近,周边','今天','星期三','星期四','这里,这儿','那里,那儿','那里,那儿','这儿,这边','那儿,那边','那儿,那边','哪里,哪儿','哪儿,哪边','请问,对不起','上海','东京','多少钱','.']
nature3 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','代','代','代','代','代','代','疑','疑','叹','专','专','.','.']

kana4 = ['へや','にわ','いえ△','いま△','れいぞうこ','かべ','スイッチ','ほんだな','ベッド','ねこ','いぬ','はこ','めがね','ビデオ','サッカ-ボ-ル','ビ-ル△','ウイスキ-','こども','きょうだい','りょうしん','いもうと','おとこ','おんな','せいと','うえ','そと','なか','した','まえ','うしろ','ちかく','ばしょ','きょうしつ','かいぎしつ','としょしつ','こうえん','はなや','ばいてん','えき','ちかてつ','き△','ひとりぐらし','あります〈ある〉','います〈いる〉','ええと','よこはま','なごや','おおさか','ジェ-ア-ル','ご~']
kannji4 = ['部屋','庭','家','居間','冷蔵庫','壁','switch','本棚','bed','猫','犬','箱','眼鏡','video','soccer ball','beer','whisky','子供','兄弟','両親','妹','男','女','生徒','上','外','中','下','前','後ろ','近く','場所','教室','会議室','図書室','公園','花屋','売店','駅','地下鉄','木','一人暮らし','(在る)','(居る)','.','横浜','名古屋','大阪','JR','(御~)']
means4 = ['房间,屋子','院子','家','起居室','冰箱','墙壁','开关','书架','床','猫','狗','盒子,箱子','眼镜','录像机','足球','啤酒','威士忌','孩子,小孩','兄弟姐妹','父母,双亲','妹妹','男','女','学生','上面','外面','里面,内部,中间','下面','前,前面','后,后面','附近,近旁','所在地,地方,场所','教室','会议室','图书室','公园','花店','小卖店,售货亭','车站','地铁','树,树木','单身生活','有,在(非意志者)','有,在(具意志者)','啊,嗯','横滨','名古屋','大阪','JR','.']
nature4 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','动I','动II','叹','专','专','专','专','.']
#第二单元
kana5 = ['いま△','せんしゅう','らいしゅう','さらいしゅう','こんしゅう','きのう','あした','あさって','おととい','まいにち','まいあさ','まいばん','まいしゅう','ごぜん/エ-エム','ごご/ピ-エム','にちようび','げつようび','かようび','きんようび','どようび','けさ','こんばん','らいねん','きょねん','よる','ばん','あさ','がっこう','しけん','しごと','ちこく','やすみ','しゅっちょう','けんしゅう','りょこう','てんらんかい','かんげいかい','パ-ティ-','おたく','いつ','やすみます〈やすむ〉','はたらきます〈はたらく〉','はじまります〈はじまる〉','おわります〈おわる〉','おきます〈おきる〉','ねます〈ねる〉','べんきょうします〈べんきょうする〉','いつも','ペキンししゃ','こうべ','おはよう','時(じ)/分(ふん)/半(はん)/月(がつ)/日(にち)/年(ねん)/ごろ']
kannji5 = ['今','先週','来週','(再)来週','今週','昨日','明日','(明後日)','(一昨日)','毎日','毎朝','毎晩','毎週','午前/am','午後/pm','日曜日','月曜日','火曜日','金曜日','土曜日','今朝','今晩','来年','去年','夜','晩','朝','学校','試験','仕事','遅刻','休み','出張','研修','旅行','展覧会','歓迎会','party','お宅','(何時)','休みます〈休む〉','働きます〈働く〉','始まります〈始まる〉','終わります〈終わる〉','起きます〈起きる〉','寝ます〈寝る〉','勉強します〈勉強する〉','(何時も)','北京支社','神戸','(お早う)','(/頃)']
means5 = ['现在','上个星期','下个星期','下下个星期','这个星期','昨天','明天','后天','前天','每天,每日','每天早晨','每天晚上','每个星期','上午','下午','星期日','星期一','星期二','星期五','星期六','今天早晨','今天晚上','明年','去年','晚上,夜里,夜晚','晚上','早晨','学校','考试','工作','迟到','休息','出差','进修','旅行','展览会','欢迎会','联欢会','府上,(您)家','什么时候','休息','工作','开始','结束','起床','睡觉','学习','经常,总是','北京分社','神户','你早','.']
nature5 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','疑','动I','动I','动I','动I','动II','动II','动III','副','专','专','.','.']

kana6 = ['らいげつ','せんげつ','よなか','ゆうべ','コンサ-ト','クリスマス','たんじょうび','こどものひ','なつやすみ','こうつうきかん','しんかんせん','ひこうき','フェリ-','でんしゃ','バス','タクシ-','びじゅつかん','アパト-〈アパ-トメント-ハウス〉','うち','プ-ル','ともだち','おとうと','いきます〈いく〉','かえります〈かえる〉','きます〈くる〉','たしか','まっすぐ','いっしょに','さとう','ペキン','アメリカ','かんこく','フランス','ひろしま','きょうと','ほっかいどう','はこね','ぎんざ','しぶや','しんじゅく','おつかれさまでした','おさきにしつれいします','あるいて','たいへんですね']
kannji6 = ['来月','先月','夜中','(昨夜)','concert','Christmas','誕生日','(子供)の日','夏休み','交通機関','新幹線','飛行機','ferry','電車','bus','taxi','美術館','apartment house','(家)','pool','友達','弟','行きます〈行く〉','帰ります〈帰る〉','来ます〈来る〉','(確か・悻か)','(真直ぐ)','(一緒に)','佐藤','北京','America','韓国','France','広島','京都','北海道','箱根','銀座','渋谷','新宿','お疲れ様でした','お先に失礼します','歩いて','大変ですね']
means6 = ['下个月','上个月','午夜,半夜','昨天晚上','音乐会','圣诞节','生日','儿童节','暑假','交通工具','新干线','飞机','渡轮','电车','公共汽车','出租车','美术馆','公寓','家','游泳池','朋友','弟弟','去','回来,回去','来','好像是,大概;的确','径直,笔直','一起','佐藤','北京','美国','韩国','法国','广岛','京都','北海道','箱根','银座','涩谷','新宿','够累的','我先走了,我先告辞了','步行','真不容易,够受的,不得了']
nature6 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','动I','动I','动III','副','副','副','专','专','专','专','专','专','专','专','专','专','专','专','.','.','.','.']

kana7 = ['コ-ヒ-','コ-ラ','おちゃ','ワイン','パン','ケ-キ','おかゆ','ひるごはん','おべんとう','そば','うどん','おやこどん','カレ-','たまご','チ-ズ△','リンゴ','イチゴ','そばや','テニス','ジョギング','サッカ-','やきゅう','もうしこみしょ','てがみ','シ-ディ-〈コンパクト-ディスク〉','おんがく','えいが','どうぶつえん','パンダ','のみます〈のむ〉','かいます〈かう〉','とります〈とる〉△','かきます〈かく〉△','よみます〈よむ〉','ききます〈きく〉','たべます〈たべる〉','みます〈みる〉','します〈する〉','そうじします〈そうじする〉','これから','じゃあ/では','いらっしゃいませ','しつれいします','しつれいしました','いってまいります','いってきます','いってらっしゃい','ただいま','おかえりなさい','かしこまりました','おじゃまします','ください','ごぜんちゅう']
kannji7 = ['coffee','cola','お茶','wine','[葡]pao','cake','お粥','昼ご飯','お弁当','(蕎麦)','(饂飩)','親子丼','curry','卵(・玉子)','cheese','(林檎)','(苺・莓)','(蕎麦)屋','tennis','jogging','soccer','野球','申込書','手紙','CD〈compact disc〉','音楽','映画','動物園','panda','飲みます〈飲む〉','買います〈買う〉','撮ります〈撮る〉','書きます〈書く〉','読みます〈読む〉','聞きます〈聞く〉','食べます〈食べる〉','見ます〈見る〉','(為る)','掃除します〈掃除する〉','.','.','.','失礼します','失礼しました','.','.','.','(只今・唯今)','お帰りなさい','(畏まりました)','お邪魔します','(下さい)','午前中']
means7 = ['咖啡','可乐','茶','葡萄酒','面包','蛋糕','粥','午饭','盒饭','荞麦面','面条','鸡肉鸡蛋盖饭','咖喱(饭)','鸡蛋','干酪','苹果','草莓','荞麦面馆','网球','慢跑,跑步','足球','棒球','申请书','信','CD','音乐','电影','动物园','熊猫','喝','买','拍照,拍摄','写','读','听','吃','看','干,做','打扫,扫除','从现在起,今后','那么','欢迎光临','告辞了,我走了','打搅了,失礼了','我走了','我走了','你走好','我回来了','你回来了','我知道了','打扰了','给我','上午']
nature7 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','动I','动I','动I','动I','动I','动I','动II','动II','动III','动III','副','连','.','.','.','.','.','.','.','.','.','.','.','.']

kana8 = ['プレゼント','チケット','パンフレット','きねんひん','スケジュ-ルひょう','しゃしんしゅう','はな','おかね','ボ-ルペン','しゅくだい','こうくうびん','そくたつ','フャックス','メ-ル','でんわばんごう','じゅうしょ','なまえ','けん','しんぶんし','かみひこうき','チョコレ-ト','アイスクリ-ム','こむぎこ','はし△','スプ-ン','おにいさん','かんこくご','ゆうがた','ひるやすみ','もらいます〈もらう〉','あいます〈あう〉','おくります〈おくる〉','つくります〈つくる〉','ふとります〈ふとる〉','だします〈だす〉','とどきます〈とどく〉','かきます〈かく〉△','かします〈かす〉','ならいます〈ならう〉','あげます〈あげる〉△','かけます〈かける〉','かります〈かりる〉','おしえます〈おしえる〉','もう','さっき','たったいま','もういちど','まえに','ちん','どうですか','おねがいします','わかりました','よかったです','~様(さま)']
kannji8 = ['present','ticket','pamphlet','記念品','schedule表','写真集','花','お金','ball-point pen','宿題','航空便','速達','fax','mail','電話番号','住所','名前','件','新聞紙','紙飛行機','chocolate','ice cream','小麦粉','(箸)','spoon','お兄さん','韓国語','夕方','昼休み','(貰う)','会います〈会う〉','送ります〈送る〉','作ります〈作る〉','太ります〈太る〉','出します〈出す〉','届きます〈届く〉','','貸します〈貸す〉','習います〈習う〉','(上げる)','','借ります〈借りる〉','教えます〈教える〉','','(先)','(唯)今','もう一度','前に','陳','(如何ですか)','お願いします','分かりました','.','.']
means8 = ['礼物','票','小册子','纪念品','日程表','影集','花','钱,金钱','圆珠笔','作业','航空邮件','速递,快件','传真','邮件','电话号码','住址','姓名','事件,事情','报纸','纸折的飞机','巧克力','冰激凌','面粉','筷子','勺子','哥哥','韩语','傍晚','午休','拿到,得到','见','寄','做,制造','胖','寄(信)','收到,送到,寄到','画','借出,借给','学习','给','打(电话)','(向别人)借','教','已经','刚才','刚刚','再一次','以前','陈','怎样,如何','拜托了','明白了','太好了','.']
nature8 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','动I','动I','动I','动I','动I','动I','动I','动I','动I','动I','动II','动II','动II','动II','副','副','副','副','副','专','.','.','.','.','.']
#第三单元
kana9 = ['りょうり','しせんりょうり','ス-プ','ペキンダック','たべもの','すきやき','おんせん','おゆ','みず','ゆかた','ながめ','くすり','てんき','うみ','やま','かみ△','ニュ-ス','じょせい','おきゃくさま','グラス','かぶき','きもち','たくさん','からい','あまい','しおからい/しょっぱい','すっぱい','にがい','おいしい','まずい','あつい△','つめたい','たのしい','おもしろい','つまらない','ひろい','せまい','おおきい','ちいさい','いそがしい','いい','わるい','すばらしい','とおい','ちかい','たかい','ひくい','やすい','さむい','あつい△','あおい','しろい','あたらしい','ふるい','むずかしい','やさしい△','おおい','すくない','かわいい','ほんとうに','あまり','とても/たいへん','すこし/ちょっと','ぜんぜん','ちょうど','あら/あれ','ああ','てんあんもん','ばんりのちょうじょう','きもちがいい','~用(よう)']
kannji9 = ['料理','四川料理','soup','北京duck','食べ物','すき焼き','温泉','お湯','水','浴衣','眺め','薬','天気','海','山','紙','news','女性','お客様','glass','歌舞伎','気持ち','(沢山)','辛い','甘い','塩辛い/(塩っぱい)','酸っぱい','苦い','.','(不味い)','熱い','冷たい','楽しい','(面白い)','(詰まらない)','広い','狭い','大きい','小さい','忙しい','(好い・良い・善い)','悪い','(素晴らしい)','遠い','近い','高い','低い','安い','寒い','暑い','青い','白い','新しい','古い','難しい','易しい','多い','少ない','(可愛い)','本当に','(余り)','(迮も)/(大変)','少し/','全然','(丁度)','.','.','天安門','万里の長城','気持ちがいい','.']
means9 = ['菜肴,饭菜','四川菜','汤','北京烤鸭','食物,食品','日式牛肉火锅','温泉','热水,开水','水,凉水','浴衣,夏季和服','景色,风景','药','天气','大海','山','纸','新闻','女性','来宾','玻璃杯','歌舞伎','心情','很多','辣','甜','咸','酸','苦','好吃,可口','不好吃,难吃','热,烫','凉','愉快,快乐','有趣,有意思','无聊','广阔,宽敞','狭窄','大','小','忙,忙碌','好','不好,坏','极好,绝佳','远','近','高,贵','低','便宜','寒冷','(天气)热','蓝色的','白色的','新','旧','难','容易','多','少','可爱','真的,实在是','不(太)~,不很~','很,非常','一点儿','根本(不),全然(不)','正好,恰好','哎呀,咦','啊','天安门','万里长城','感觉舒服,心情愉快','.']
nature9 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','形I','副','副','副','副','副','副','叹','叹','专','专','.','.']

kana10 = ['もみじ','こきょう△','とおり','まち','ところ','おみせ','にんぎょう','さくひん','ちょうこく','じどうしゃ','どうぐ','さかな','おかし','もの','シ-ズン','しゅうがくりょこう','かんこうきゃく','さっか','ぶちょう','へいじつ','ひ△','せいかつ','せかい','はれ','あめ','くもり','ゆき','きたない','きれい','ゆうめい','にぎやか','しずか','ひま','しんせつ','すき','きらい','べんり','ふべん','げんき','かんたん','ハンサム','どんな','どう','いかが','いろいろ','でも','そして','ところで','あれえ','なら','ふじさん','もうすこし','~中(じゅう)']
kannji10 = ['紅葉','故郷','通り','町','所','お店','人形','作品','彫刻','自動車','道具','魚','お菓子','物','season','修学旅行','観光客','作家','部長','平日','日','生活','世界','晴れ','雨','曇り','雪','汚い','(綺麗・奇麗)','有名','(賑やか)','静か','暇','親切','好き','嫌い','便利','不便','元気','簡単','handsome','.','(如何)','(如何)','(色色)','.','.','.','.','奈良','富士山','もう少し','.']
means10 = ['红叶','故乡','大街','城市,街道','场所','餐馆;商店','玩偶','作品','雕刻','汽车','工具','鱼','点心','物品,东西','季节','修学旅行','游客','作家','部长','平日,非休息日','日子','生活','世界','晴天','雨,下雨','阴天','雪','脏','漂亮,干净','有名','热闹,繁华','安静','空闲','热情','喜欢','讨厌','方便','不方便','健康,有精神','简单','英俊,帅气','什么样的,怎样的','怎样,如何','如何','各种各样','可是,不过','而且,于是','(转换话题)哎','咦','奈良','富士山','再~一点','.']
nature10 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','形I','形II','形II','形II','形II','形II','形II','形II','形II','形II','形II','形II','形II','形II','疑','副','副','副','连','连','连','叹','专','专','.','.']

kana11 = ['うた','カラオケ','ロック','ポップス','クラシック','ピアノ','え','えいご','スペインご','スポ-ツ','すいえい','ゴルフ','うんてん','のみもの','おさけ','にく△','やさい','くだもの','ヒマワリ','バラ','コンピュ-タ','まど','けっこんしき','しゃしんてん','りょかん','べっそう','よせぎざいく','もよう','がいこく','かいぎ','あし△','ぼく','わかります〈わかる〉','まよいます〈まよう〉','できます〈できる〉','しめます〈しめる〉','つかれます〈つかれる〉','さんぽします〈さんぽする〉','こわい','あかい','いたい','じょうず','へた','にがて','ときどき','よく','たまに','また','どうして','だから/ですから','う-ん','けっこうです','きにいります','など']
kannji11 = ['歌','.','rock','pops','classic','piano','絵','英語','Spain語','sport','水泳','golf','運転','飲み物','お酒','肉','野菜','果物','(向日葵)','(薔薇)','computer','窓','結婚式','写真展','旅館','別荘','寄木細工','模様','外国','会議','脚','(僕)','分かります〈分かる〉','迷います〈迷う〉','.','閉めます〈閉める〉','疲れます〈疲れる〉','散歩します〈散歩する〉','怖い','赤い','痛い','上手','下手','苦手','時々','(良く・能く・善く)','(偶に)','(又)','(如何して)','.','.','結構です','気に入ります','(等)']
means11 = ['歌,歌曲','卡拉OK','摇滚乐','流行音乐','西方古典音乐','钢琴','画儿','英语','西班牙语','体育,运动','游泳','高尔夫球','开车','饮料','酒,酒类','肉','蔬菜','水果','向日葵','蔷薇,玫瑰','计算机,电脑','窗,窗户','结婚典礼','摄影展','旅馆,旅店','别墅','木片儿拼花工艺品','花纹,纹案','外国','会议','腿','我(男性自称)','懂,明白','犹豫,难以决定','会;能;完成','关闭,关门','疲倦,疲惫','散步','害怕,恐怖','红','疼,疼痛','擅长,高明,水平高','不高明,水平低','不擅长,不善于','有时,时不时','经常,常常','偶尔,很少','还,再,又','为什么','所以,因此','嗯……,这个……','不用,不要','中意,喜欢','等等']
nature11 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','代','动I','动I','动II','动II','动II','动III','形I','形I','形I','形II','形II','形II','副','副','副','副','副','连','叹','.','.','.']

kana12 = ['きせつ','ふゆ','はる','にほんりょうり','すし','ナシ','バナナ','ミカン','しょうちゅう','にほんしゅ','こうちゃ','ウ-ロンちゃ','ジャスミンちゃ','りょくちゃ','ジュ-ス','にんき','せき','クラス','しゅるい','せ','あに','さいきん','ふります〈ふる〉','わかい','あたたかい','すずしい','はやい','だいすき','いちばん','ずっと','やはり/やっぱり','チョモランマ','にんきがあります','~年間(ねんかん)']
kannji12 = ['季節','冬','春','日本料理','寿司','(梨)','banana','(蜜柑)','焼酎','日本酒','紅茶','(烏龍)茶','jasmine茶','緑茶','juice','人気','席','class','種類','背','兄','最近','降ります〈降る〉','若い','暖かい','涼しい','速い','大好き','(一番)','.','(矢張り/矢っ張り)','Chomolungma','人気があります','.']
means12 = ['季节','冬天,冬季','春天,春季','日式饭菜','寿司','梨','香蕉','橘子','烧酒','日本酒','红茶','乌龙茶','茉莉花茶','绿茶','果汁','声望,受欢迎','座位,席位','班级','种类','个子','哥哥,兄长','最近,近来','下(雨,雪),降(雨,雪)','年轻','暖和,温暖','凉爽','快','非常喜欢','最,第一','~得多','仍然,还是','珠穆朗玛峰','受欢迎','.']
nature12 = ['名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','名','动I','形I','形I','形I','形I','形II','副','副','副','专','.','.']
#课单词表长度自检
#为假名和汉字添加分隔符,写入总单词列表;根据课单词表长度,补完总课列表
n = 0
for i in range(12):
    i += 1
    if len(eval('kana' + str(i))) == len(eval('kannji' + str(i))):
        print("第{}课假名-汉字长度自检完成".format(i),end = '...')
    if len(eval('kannji' + str(i))) == len(eval('means' + str(i))):
        print("第{}课单词-释义长度自检完成".format(i),end = '...')
    if len(eval('kannji' + str(i))) == len(eval('nature' + str(i))):
        print("第{}课单词-词性长度自检完成".format(i))
    if len(eval('kana' + str(i))) == len(eval('kannji' + str(i))) == len(eval('means' + str(i))) == len(eval('nature' + str(i))):
        print("获取第{}课单词表长度:{}".format(i,len(eval('kana' + str(i)))))
    n += len(eval('kana' + str(i)))
    for j in range(len(eval('kana' + str(i)))):
        vocabulary.append(eval('kana' + str(i))[j] + " | " + eval('kannji' + str(i))[j] + "「" + eval('means' + str(i))[j] + "」")
        unit.append(str(i))
        means.append(eval('means' + str(i))[j])
        nature.append(eval('nature' + str(i))[j])
print('注:单词含独立词,寒暄表达、惯用短语以及量词等附属词,格式为“读法/假名[原形以〈〉标出,同音近音词以△标出] | 书写法/汉字[参考《新世纪日汉双解大辞典》及MOJi辞書译,教材未列部分以()标出,可不作掌握] 「释义」 | 词性”')
print('本词库已存入12课单词,共计{}个'.format(n))
  • 一个经典的计数循环[32][14]
  • 增强赋值操作符:i += 1等价i = i + 1[5]

  • evalの高级用法[6]

eval(<字符串>)函数是Python语言中一个十分重要的函数,它能够以Python表达式的方式解析并执行字符串,并将返回结果输出。简单说,eval(<字符串>)的作用是将输入的字符串转变成Python语句(去掉字符串最外侧的引号),并执行该语句。

  • =赋值 v.s. ==等于[6]

  • (联想)分支结构——

如果没有任何条件成立,else下面的语句块将被执行

循环结构——

else语句只在循环正常执行并结束后才执行

  • 字符串格式化:print - format方法[7]

  • (联想)分隔的方法:①split()方法:str.split(sep) ②join()方法:str.join(iterable)方法 ③print()函数end参数方法[7]

print()函数输出文本时默认会在最后增加一个换行,如果不希望在最后增加这个换行,或者希望输出文本后增加其它内容,可以对print()函数的end参数进行赋值:print(<待输出内容>,end = "<增加的输出结尾>")

  • 两次遍历循环[15]

  • ls.append(x)在列表ls最后增加一个元素x[16]

由于我不会图形界面,因此用while True:下4个input提示的无限循环来勉强作为前端。使用体验还可以——

while True:
    u = input("【查询单词对应的课程】请输入该单词的假名或汉字(tip:in规则,输入0按enter跳过;直接按enter显示全部单词):")
    for i in range(len(vocabulary)):
        if u in vocabulary[i]:
            print(vocabulary[i] + " | " + nature[i],unit[i],end = '\n\n')
    v = input("【查询课程下的单词】请输入一个课程号(例,1,12)(tip:==规则,按enter跳过):")
    for i in range(len(unit)):
        if v == unit[i]:
            print(vocabulary[i] + " | " + nature[i],end = '\n\n')
    w = input("【查询词性下的单词】请输入一个词性(例,动,形II)(tip:in规则,输入0按enter跳过;直接按enter显示全部单词):")
    for i in range(len(nature)):
        if w in nature[i]:
            print(vocabulary[i],unit[i],end = '\n\n')
    x = input("【五十音索引】按1查询(tip:==规则,按enter跳过):")
    if x == "1":
        for i in range(len(vocabulary)):
            print(sorted(vocabulary)[i] + " | " + nature[i],unit[i],end = '\n\n')

序列类型支持成员关系操作符(in)、长度计算函数(len())、分片([]),元素本身也可以是序列类型。

  • 连接xyx + y[5]

  • print输出多个变量[5]

第二种,仅用于输出一个或多个变量:print(<变量1>,<变量2>,...,<变量n>),输出后的各变量值之间用一个空格分隔。

  • [17]

reversed()函数返回输入组合数据类型的逆序形式;sorted()函数对一个序列进行排序,默认从小到大排序

字符串比较本质上是字符串对应的Unicode编码的比较

附录:借助ExcelWord记事本,在1分钟之内导入课单词表

一、我手里的单词表是这样的(Word):python实现日语单词索引:查询单词对应的课【python实用总结】_第1张图片二、将假名列和汉字列分别复制粘贴进一张Excel表(借助Excel天然的表格形式,查看假名-汉字-释义-词性是否对齐):
python实现日语单词索引:查询单词对应的课【python实用总结】_第2张图片
三、选中一列内容,复制粘贴至另一备用的Word,Ctrl + H打开查找和替换窗口,将换行符^p全部替换为','(但是这里其实还是中文单引号,不能直接粘贴至Python里);手动删去结尾处多余的,',并为开头处添加'

四、全选,复制粘贴至另一备用的记事本,Ctrl + H打开查找和替换窗口,将中文单引号全部替换为英文单引号'

五、全选,复制粘贴至对应的Python行。由于Word记事本的查找和替换窗口自带记忆功能,熟悉Ctrl + C、Ctrl + V、Ctrl + H等操作很快就能把课单词表导入完成


  1. 此处双引号标红没有特殊意义,本人只是单纯喜欢标红下的这个字体。下同 ↩︎

  2. 所在行数 ↩︎

你可能感兴趣的:(python)