从lis填充字典

2024-09-30 18:16:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表(来自.tt文件),如下所示:

list1 = ['have\tVERB', 'and\tCONJ', ..., 'tree\tNOUN', 'go\tVERB']

我想把它变成一本字典,看起来像:

^{pr2}$

我想换个位置,但效果不太好。有没有办法将制表符字符串'\t'标记为分隔符?在


Tags: and文件字符串treego列表字典have
3条回答

通过简单的dict理解和str.split(空格上没有参数strip拆分)来实现这一点

list1 = ['have\tVERB', 'and\tCONJ',  'tree\tNOUN', 'go\tVERB']
dict1 = {x.split()[0]:x.split()[1] for x in list1}

结果:

^{pr2}$

编辑:x.split()[0]:x.split()[1]执行split两次,这不是最佳的。其他答案在没有听写理解的情况下做得更好。在

由于默认情况下^{}也在'\t'上拆分('\t'被认为是空白),因此可以通过向{a2}提供一个看起来相当优雅的^{}来获得函数方法:

d = dict(map(str.split, list1))

字典d正处于想要的形式:

^{pr2}$

如果您只需要在'\t'上进行拆分(忽略' '和{}),并且仍然想使用map方法,那么可以创建一个只使用'\t'作为分隔符的^{}部分对象:

^{3}$

当然,这将使用字符串的示例列表为d生成相同的结果。在

尝试以下操作:

dict1 = dict(item.split('\t') for item in list1)

输出:

^{pr2}$

相关问题 更多 >