首页 > 解决方案 > 将文本文件名称(类别)读入python中的不同类别字典?

问题描述

我有一个看起来像这样的文本文件

radiant(a) vibe(n) pen(n) lightly(d) stares(v) bright(a) dust(n) graceful(a) dazzling(a) abruptly(d)
running(a) cheerfully(d) wriggles(v) inkwell(n) sky(n) running(a) divine(a) tear(n) rappidly(d)

我需要 python 读入这个文本文件并返回给我这样的字典概述:

{'a': ['radiant', 'bright', 'graceful', ...],
 'n': ['vibe', 'pen', 'dust', ...],
 'd': ['lightly', 'abruptly', 'cheerfully',...],
 'v': ['stares', 'wriggles', 'smiles',...]}

任何人都可以帮助我吗?谢谢 :)

标签: pythondictionarytextcategories

解决方案


尝试这个:

from collections import defaultdict

st = 'radiant(a) vibe(n) pen(n) lightly(d) stares(v) bright(a) dust(n) graceful(a) dazzling(a) abruptly(d) running(a) cheerfully(d) wriggles(v) inkwell(n) sky(n) running(a) divine(a) tear(n) rappidly(d)'

d = defaultdict(list)

for i in st.split():
    d[i[-2]].append(i[:-3])

输出:

>>> print(d)
defaultdict(<class 'list'>, {
'a': ['radiant', 'bright', 'graceful', 'dazzling', 'running', 'running', 'divine'], 
'n': ['vibe', 'pen', 'dust', 'inkwell', 'sky', 'tear'], 
'd': ['lightly', 'abruptly', 'cheerfully', 'rappidly'], 
'v': ['stares', 'wriggles']
})

推荐阅读