使用列表推导式的 2 个元素的元组列表

问题描述

我想使用列表理解来初始化一个包含 2 个元素的元组列表,我的尝试如下:

SIZE = 10
possible_positions = [(x,y) for x,y in range(0,SIZE)]

但这给了我一个错误

TypeError: cannot unpack non-iterable int object

正确的做法是什么?我知道我可以使用 for 循环,但我还是想知道。

解决方法

range 每次迭代返回一个值,您应该按以下方式将 ziprange 结合使用:

zip(range(SIZE),range(SIZE))

使用 zip 还可以省去创建元组列表的麻烦,因此调用 list(zip(range(SIZE),range(SIZE))) 将为您提供最终结果

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...