python建立字典索引

建立索引

以四字成语为例w=abcd, {abcd}分别代表成语中的四个字,分别以成语的四个字建立索引,具体操作如下
<1>遍历成语字典,找出所有成语的第一个字,将其作为字典里的索引a={a1a2...an},并找出以索引的开头的所有成语放入字典的key值中,例{a1:m1,m2...mn}m表示第一个字为a1的所有成语,其他几个字建立索引同上。
代码片段:

f = 'chengyu.txt'#读取文本路径
w=[]
for line in open(f, 'r',encoding='utf-8'):#按照行读取文件
    s1=line.encode('utf-8').decode('utf-8-sig')#赋值,并解决编码问题
    if s1!='':

        #print(s1[0])
        if s1[0] not in w:
            w.append(s1[0])#去重
    for i in w:
        if i=='\n':
            w.remove(i)#去除以上满足条件的符号
dict1 = {}#建立字典
for i in w:
    # print(i)

    dict1[i] = []#建立索引
    for line in open(f, 'r',encoding='utf-8'):#按照行读取文件
        s1 = line.encode('utf-8').decode('utf-8-sig')  # 赋值,并解决编码问题
        if s1[0]==i:
            # print (s1.replace('\n',''))
            dict1[i].append(s1.replace('\n',''))#加入索引值
print(dict1)
z.append(dict1)

将字典存入一个pickle文件下

pickle文件可以存入各种形式的文件,如果存入的是字典形式,加载下来也是字典形式,这样方便下次查找。

 output = open('cydict.pkl', 'wb')
pickle.dump(z, output)
output.close()
发布了6 篇原创文章 · 获赞 4 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览