gpt4 book ai didi

Python 2.6.1 和 2.7.3 之间的语法差异?

转载 作者:行者123 更新时间:2023-12-02 08:43:00 24 4
gpt4 key购买 nike

所以我在一个更大的项目中使用了下面的代码片段,

with open(file) as fin:
rows = ( line.split() for line in fin )
d = { row[0]:row[1:] for row in rows }

对于制表符分隔的输入,file。它在我的个人机器上运行良好,但是当我将它移到共享计算集群时,它不喜欢第 3 行,d = { row[0]:row[1:] for row in rows }。我一直在努力找出原因。

我唯一能想到的是 Python 版本的差异。我运行的是 2.7.3,共享集群运行的是 2.6.1,但这似乎并不完全合理——我是不是错过了一些非常明显的东西?我很感激你们的任何建议。

这是错误的文本(在集群上的 Python 2.6.1 中),

File "Alphabet.py", line 22
d = { row[0]:row[1:] for row in rows }
^
SyntaxError: invalid syntax

最佳答案

字典理解是 Python 2.7 中的新功能,请参阅 PEP 274 http://www.python.org/dev/peps/pep-0274/

从那开始:

>>> dict([(i, chr(65+i)) for i in range(4)])

在语义上等同于

>>> {i : chr(65+i) for i in range(4)}

如果需要兼容Python 2.7之前的版本,使用第一个版本。

关于Python 2.6.1 和 2.7.3 之间的语法差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com