我在Python 3.6环境中编写了一个脚本,现在需要将其转换回Python 2.65。它特别不赞成其中一行代码。我使用字典理解来创建变量。
注意:NFHL_sx_firmpan
和Prelim_sx_firmpan
是我正在比较的字典,用于查找它们之间“不共享”的差异。-
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中效果很好)
答案 0 :(得分:1)
有什么阻止您执行以下操作吗?此语法在两个版本中都应适用。
(x:5, y:5, z:5)
答案 1 :(得分:1)
以下代码应与低于python 2.7的版本兼容
unshared = dict((k, NFHL_sx_firmpan[k]) for k in NFHL_sx_firmpan if k not in Prelim_sx_firmpan)