词典理解方法在 Python 2.65 中不起作用

Dictionary comprehension method not working in Python 2.65

我在 Python 3.6 环境中编写了一个脚本,现在需要将其转换回 Python 2.65。它特别不赞成一行代码。我使用字典理解来创建变量。 注意:NFHL_sx_firmpanPrelim_sx_firmpan 是我正在比较的字典,以找出它们之间 'not shared' 的差异。-

 unshared = {k: NFHL_sx_firmpan[k] for k in NFHL_sx_firmpan if k not in Prelim_sx_firmpan}

它在 'for' 上抛出语法错误,所以我尝试使用带有条件的旧 for 循环:

 unshared = dict()
 for k in NFHL_sx_firmpan:
     if k not in Prelim_sx_firmpan:
        unshared = k: NFHL_sx_firmpan[k]

它现在在 'k' 之后的 ':' 上抛出语法错误。我怎样才能翻译它以便它在 2.65 中工作? (注意 2:它在 3.6 中运行良好)

是否有任何事情阻止您执行以下操作?此语法应该适用于两个版本。

unshared = {}
for k in NFHL_sx_firmpan:
    if k not in Prelim_sx_firmpan:
        unshared[k] = NFHL_sx_firmpan[k]

下面的代码应该与低于 Python 2.7

的版本兼容
unshared = dict((k, NFHL_sx_firmpan[k]) for k in NFHL_sx_firmpan if k not in Prelim_sx_firmpan)