python - 达到最大值后仅打印一次
问题描述
我只需要执行print
一次最后的语句,在max_rows
到达之后。
假设您需要用 30 个元素填充列表,但只想打印前 20 次,然后只想继续附加到列表而不打印任何内容,除了“截断...”(一次)。
这是实现此目的的丑陋方式。还有什么更优雅的方法?
max_rows = 20
max_rows_exceeded = False
rows = 0
i = 0
my_list = list()
while i < 30:
i += 1
if rows < max_rows:
print("rows < max_rows - %s" % rows)
rows += 1
else:
max_rows_exceeded = True
my_list.append(i)
if max_rows_exceeded:
print("Truncating due to max displayable row number exceeded: %s" % max_rows)
解决方案
没有理由检查循环内的行是否超出。您可以在循环后检查这个“数学” :
max_rows = 20
my_list = []
upper_limit = 30
for rows in range(upper_limit):
if rows < max_rows:
print("rows < max_rows - %s" % rows)
my_list.append(rows)
if max_rows < upper_limit:
print("Truncating due to max displayable row number exceeded: %s" % max_rows)
推荐阅读
- keras - 输出层正则化实现
- java - 使用会话加载图像名称
- getstream-io - 仅将频道过滤到用户正在审核的频道
- c# - .net core 2.2 windows服务完全启动后如何配置托管服务?
- ruby-on-rails - 在使用 minitest 在 ruby 中测试模型时,我在 def setup 中保存数据,我得到了这条线的含义
- plotly - 绘制 groupby 变换
- math - 计算机如何计算负(-)和正(+)无穷大?
- java - 如何在java中从double转换为大于long的值
- angular - 错误 TS1127:在 Angular 7 中运行 Karma 测试时出现无效字符
- keras - 使用 ImageGenerator 时可以禁用图像大小调整吗?