【发布时间】:2016-09-04 08:19:20
【问题描述】:
def tuple_gen(x, y, num):
pos = []
for i in range(num):
x += 1
pos.append([x, y])
pos[i] = tuple(pos[i])
return pos
我的输入是:
>>> tuple_gen(0,1,5)
[(1, 1), (2, 1), (3, 1), (4, 1), (5, 1)]
我想要的是返回元组而不是列表:
>>> tuple_gen(0,1,5)
(1, 1), (2, 1), (3, 1), (4, 1), (5, 1)
因为我想形成一个包含不同类型元组的列表:
>>> [tuple_gen(0,1,5), tuple_gen(0,2,6)]
[(1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (1, 2), (2, 2), (3, 2), (4, 2), (5, 2), (6, 2)]
我想要一个简洁明了的解决方案。
*请注意,我不想使用任何 extend 或 append 来合并这些列表,因为我需要很多元组
【问题讨论】:
-
您真的需要最终的巨型列表吗?制作一个产生所有你想要的元组的迭代器可能会更好。顺便说一句,您当前版本的
tuple_gen可以通过简单的单行列表理解来完成。