为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Python 中重复 y 次增加 x 个元素

如何在 Python 中重复 y 次增加 x 个元素

www说 2021-07-09 14:07:33
我有x哪些是需要的元素数量,y哪些是需要元素的次数。例如:>>> x = 5>>> y = 2>>> for i in range(y):...  for j in range(x):...   print j,... 0 1 2 3 4 0 1 2 3 4预期输出为:0 1 2 3 45 6 7 8 9有人可以帮助我实现预期的输出吗? for任何方式的循环或列表理解都可以。提前致谢。
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

选项1


如果需要将结果存储在列表中,可以使用解包和算术:


>>> [[*range(i*x, i*x+x)] for i in range(y)]

[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]

选项 2


如果您只是对打印值感兴趣,则无需通过创建中间子列表来浪费空间,您可以改为使用range对象:


for row in [range(i*x, i*x+x) for i in range(y)]:

    print(*row)

0 1 2 3 4

5 6 7 8 9


查看完整回答
反对 回复 2021-07-13
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

这个“带偏移量的范围”的想法最终成为一种严肃的方法:


for i in range(y):

    print(*range(i*x, (i+1)*x))


0 1 2 3 4

5 6 7 8 9


查看完整回答
反对 回复 2021-07-13
?
MMTTMM

TA贡献1869条经验 获得超4个赞

你可以使用 numpy。由于您只是在范围内计数[0, x*y[并且只想将其绘制为某种形状,因此 numpy 可以在一个班轮中完全做到这一点:


import numpy as np

x = 5

y = 2

np.arange(x*y).reshape(y, x)

结果:


array([[0, 1, 2, 3, 4],

       [5, 6, 7, 8, 9]])


查看完整回答
反对 回复 2021-07-13
  • 3 回答
  • 0 关注
  • 251 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信