这段代码可以重写为更加pythonic吗?

时间:2015-09-23 20:34:39

标签: python optimization

我从文件中读取值。我有一个具有这种格式的行 size ='GG | 0,WQ | 3,EW | 8,RE | 23' 我希望它是一本字典列表。 现在我使用这个完美的代码,但似乎必须有一个更简洁的方法来实现它。

>>> size = 'GG|0,WQ|3,EW|8,RE|23'
>>> a = [{i.split('|')[0]:i.split('|')[1]} for i in size.split(',')]
>>> a
[{'GG': '0'}, {'WQ': '3'}, {'EW': '8'}, {'RE': '23'}]
>>> 

2 个答案:

答案 0 :(得分:5)

size = 'GG|0,WQ|3,EW|8,RE|23'
elements = size.split(',')
a = [dict([x.split('|')]) for x in elements]

答案 1 :(得分:0)

也许你可以使用python正则表达式...你可以更明显地采取这个

import re
size = 'GG|0,WQ|3,EW|8,RE|23'
pattern = re.compile('[A-Z][A-Z][|][0-9]+')
my_list = re.findall(pattern, size)
my_dic = [dict([item.split('|')]) for item in my_list]