基于列表长度设置限制的Pythonic方式[重复]

Posted

技术标签:

【中文标题】基于列表长度设置限制的Pythonic方式[重复]【英文标题】:Pythonic way of setting limits based on list length [duplicate] 【发布时间】:2021-11-22 13:00:53 【问题描述】:

我想根据列表的长度限制 tkinter 小部件的高度。为此,我想将 5 设置为下限,将 10 设置为上限。如果我的列表超过 10 个元素,高度应该是 10,当元素等于或少于 5 个时高度应该是 5,如果列表在该范围内,则元素的确切数量。我想知道是否有比这更 Pythonic 的方式:

if 5 <= len(self.content) <= 10:
    lb_height = len(self.content)
elif len(self.content) <= 5:
    lb_height = 5
else:
    lb_height = 10

【问题讨论】:

类似min(max(len(self.content), 5), 10) 谢谢,很方便:) 【参考方案1】:

这个答案做了类似的事情:https://***.com/a/4092550/11652155

对于您的情况,您只需更改下限和上限:

lb_height = max(5, min(len(self.content), 10))

【讨论】:

不要链接到另一个答案,标记为重复 谢谢大家,抱歉重复了

以上是关于基于列表长度设置限制的Pythonic方式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

只要基于前一个元素的条件为真,“Pythonic”方式就可以从可迭代对象中返回元素

Pythonic方式迭代序列,一次4个项目[重复]

逻辑组合布尔值列表的最“pythonic”方式是啥?

以块为单位迭代列表的最“pythonic”方式是啥?

返回布尔值和消息的Pythonic方式[重复]

成对嵌套列表的大多数pythonic(和有效)方式