Skip to main content
 首页 » 编程设计

python之在字典理解中临时分配变量的优雅方式

2025年05月04日8lyj

出于好奇,是否可以将以下逻辑编写为一个很好的字典理解?

a = "a c\nb c\nn q\n".split('\n')[:-1] 
 
output = {} 
for line in a: 
    tmp = line.split(' ') 
    output[tmp[0]] = tmp[1] 

我写了以下内容,但没有临时任务,我不得不拆分两次,这很不幸:

{line.split(' ')[0]:line.split(' ')[1] for line in a} 

有没有更优雅的东西?

请您参考如下方法:

在这种情况下,我认为 dict constructor 更好一些,因为它需要一个可迭代的 2-sequences:

dict(line.split() for line in a) 

演示:

>>> a 
['a c', 'b c', 'n q'] 
>>> dict(line.split() for line in a) 
{'a': 'c', 'b': 'c', 'n': 'q'}