如何使用理解力以升序(1,2,3),(2,3,4).....(10,11,12)连续打印元组

时间:2019-10-14 01:28:12

标签: python python-3.x loops for-loop list-comprehension

我有一个问题,它要求我使用理解力来打印10个元素,这些元素由3个元组(1,2,3)(2,3,4)....(10,11,12)组成。

到目前为止,我已经能够将其打印在一个长元组(1,2,3,2,3,4,3,4,5,4,5,6....)中,且逗号之间没有括号。该问题的提示是,在此理解范围内仅需要1个部分。

输入

def try2():
  e = [x+a for x in range(0,10) for a in range (1,4)] 
  print (tuple(e))

try2()

输出:

  

(1、2、3、2、3、4、3、4、5、4、5、5、6、5、6、7、6、7、8、7、8、9、8、9,   10、9、10、11、10、11、12)

预期:

  

(0,1,2),(2,3,4),(3,4,5)......(10,11,12)

实际:

  

(1、2、3、2、3、4、3、4、5、4、5、5、6、5、6、7、6、7、8、7、8、9、8、9,   10、9、10、11、10、11、12)

1 个答案:

答案 0 :(得分:2)

您可以将内部range生成器传递给tuple构造函数:

[tuple(range(x, x + 3)) for x in range(1, 11)]

这将返回:

[(1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7), (6, 7, 8), (7, 8, 9), (8, 9, 10), (9, 10, 11), (10, 11, 12)]