解决方案
with open('file_name.txt') as fobj:
synonyms = {}
for line in fobj:
key, *values = [entry.strip() for entry in line.split(',')]
synonyms[key] = values
产生这个字典synonyms:
{'word1': ['synonym11', 'synonym12', 'synonym13'],
'word2': ['synonym21', 'synonym22', 'synonym23']}
对于这个文件内容:
word1, synonym11, synonym12, synonym13
word2, synonym21, synonym22, synonym23
说明
使用with open('file_name.txt') as fobj: 打开文件这将打开文件并承诺在去凹痕后关闭它。
新建一个空字典:synonyms = {}。
遍历所有行for line in fobj:。
以逗号分隔每一行并从每个单词中删除多余的空格:[entry.strip() for entry in line.split(',')].
使用新的*-方式在 Python 3 中解压一个可迭代对象以拆分键和值key, *values =。
将值添加到结果synonyms[key] = values。
补充:
打印单词和随机同义词:
import random
for word, syns in synonyms.items():
print(word, random.choice(syns))
打印:
word1 synonym12
word2 synonym22