我正在尝试将两个列表压缩在一起以创建一个新字典。列表一是以字符串表示的列名列表,而列表二是变量列表。
如果变量为空(无),我不想要它或相应的列数据(它们共享相同的索引,因此“foo”列位于索引 0,“foo”变量也是如此)在我的字典。
我已经尝试了几种使用字典理解来构建它的方法,但未能正确创建它。
我的字典需要排序,所以我也在使用 OrderedDict 模块。
这有可能吗?
编辑:
数据应该是这样的。
list_1 = ['foo', 'bar', 'baz', 'whatever']
list_2 = [foo, bar, baz, whatever]
现在假设 whatever 变量为 None。
我创建的字典应该看起来像
d = {
'foo' : foo,
'bar' : bar,
'baz' : baz
}
最佳答案
正如 Martijn 在评论中指出的,您只需要 OrderedDict((k, v) for k, v in zip(list_1, list_2) if v is not None)
。
关于python - 两个列表的条件压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924731/