我用Python2.7创建了一个Python脚本,它运行正常。但是,当我使用Python2.6运行相同的脚本时,我收到“SyntaxError:invalid syntax”错误。
经过调查,问题似乎与for循环有关。
l1 = [["a1", "a2"], ["b1", "b2"]]
print {item[0]:item[1] for item in l1}
当我使用Python 2.7运行上面的代码时,我得到了以下输出:
{'a1': 'a2', 'b1': 'b2'}
当我使用Python 2.6运行相同的代码时,我遇到以下错误:
>>> l1 = [["a1", "a2"], ["b1", "b2"]]
>>> print {item[0]:item[1] for item in l1}
File "<stdin>", line 1
print {item[0]:item[1] for item in l1}
^
SyntaxError: invalid syntax
>>>
感谢任何帮助。
的问候,
阿伦
答案 0 :(得分:4)
试试这个:
print dict(item for item in l1)
编辑您的评论:如果您想明确选择项目,请将它们包装在元组中:
print dict((item[1], item[4]) for item in l1)
答案 1 :(得分:3)
Python 2.6中没有字典理解。有关如何在代码中解决此问题,请参阅Space_C0wb0y's answer。
答案 2 :(得分:2)
试试这个:
print dict([tuple(i) for i in l1])