解析 csv 文件后,我从其中一行中获取此列表:
['', 'value1', '346.897', '', 'value2', '202.306', 'value3', '136.880', 'value4', '7.711', '']
因此,我需要得到:
{
'value1': 346.897,
'value2': 202.306,
...
}
有谁知道怎么让它变漂亮?不使用索引。
现在,我从列表中删除所有空字符串,然后采用 [0]
元素,例如 key
和 [1]
,例如 值
等
Variables :value1 # ... - are dynamic
最佳答案
s = ['', 'value1', '346.897', '', 'value2', '202.306', 'value3', '136.880', 'value4', '7.711', '']
s = list(filter(None, s)) # fastest way to remove the empty strs
zipped = zip(s[0::2], s[1::2]) # zip them
print({k:v for k,v in dict(zipped).items()})
输出:
{'value1': '346.897', 'value2': '202.306', 'value3': '136.880', 'value4': '7.711'}
简化版:
s = list(filter(None, s))
print(dict(zip(s[0::2], s[1::2])))
输出:
{'value1': '346.897', 'value2': '202.306', 'value3': '136.880', 'value4': '7.711'}
关于Python:匹配列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55630851/