【发布时间】:2012-02-17 03:27:39
【问题描述】:
为什么下面会出现语法错误?
self.update( { (u,v) : t for (u,v),t in old_items if u in new_vert and v in new_vert } )
^
SyntaxError: invalid syntax
【问题讨论】:
-
什么是 old_items。你想做什么?
-
你能有一个以
(u, v)为关键字的字典理解吗? -
@Blender:是的,你可以。这是一个元组,所以它是可散列的。另一方面,列表会引发 TypeError。
-
@AdamBernier 实际上取决于
u和v(例如(1, [2])会失败)。但错误不会是SyntaxError,而是TypeError。 -
@OP:你的 python 支持字典理解吗?检查
{x:0 for x in range(10)}
标签: python python-2.7 syntax-error python-2.6