【问题标题】:How to update a variable after a loop using list comprehension如何使用列表理解在循环后更新变量
【发布时间】:2022-01-22 05:26:14
【问题描述】:

我的代码打印如下:

N, M = map(int,input().split())
x='.|.'
j=1
for i in range(N):
    print((x*j).center(M,'-'))
    j+=2

我尝试使用列表理解来缩短代码:

[print((x*j).center(M,'-')) for i in range(N)]

如何更新每个循环的变量 j?谢谢。

【问题讨论】:

  • 不要那样做。这不是列表推导的用途。
  • print 返回 None,所以你只是在构建一个空值列表,这有点浪费。
  • read up on what the things you are using are capable of 不是试图将所有内容都塞进一行。这将消除的不仅仅是将循环换成处理不当的理解。
  • “打印综合”?那么现在这种滥用行为甚至有了一个名字,听起来像是可以做的事情?
  • 感谢您的cmets,对我这样的初学者非常有用:)

标签: python loops printing


【解决方案1】:

我已经解决了这个问题:

[print((x*(1+i*2)).center(M,'-')) for i in range(N)]

这个解决方案可能很短,但我认为它不适合开发。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 2022-08-08
    • 2023-03-08
    • 2017-11-26
    • 2018-12-25
    • 1970-01-01
    • 2022-06-22
    相关资源
    最近更新 更多