我有一个字符串rssi=199&phase=-1&doppler=-1
,我试图用Python解析它,使其看起来像[('rssi', '199'), ('phase', '-1'), ('doppler', '-1')]
目前,我有一个工作功能,做我想要的。它是这样的:
s = 'rssi=199&phase=-1doppler=-1'
spl = s.split('&') # now looks like ['rssi=199', 'phase=-1', 'doppler=-1']
l = []
for i in spl:
l.append(tuple(i.split('=')))
print l # finally have [('rssi', '199'), ('phase', '-1'), ('doppler', '-1')]
我正在寻找一种较短的方法来完成这项任务在较少的线路。只是为了了解如何清理代码并获得最佳实践。我在python中看到过类似于[ x.strip() for x in foo.split(";") if x.strip() ]
的操作,在数组中有for循环。我不完全明白那是什么,也不知道它叫什么。任何方向正确的帮助都将不胜感激
我假设您从一个URL开始,在
?
上拆分并删除了主机和路径,现在正在尝试解析查询字符串。您可能希望从一开始就使用urlparse
您所询问的结构称为list comprehension。您可以将
for
循环替换为:这会给你一个列表,比如:
但是对于您正在做的事情,
urlparse.parse_qs
方法可能更简单:…或者
urlparse.parse_qsl
,如果您真的想要列表/元组而不是dict:你在找^{} :
把它变成一本字典也可能有帮助:
相关问题 更多 >
编程相关推荐