首页 > 解决方案 > 基于列表长度设置限制的 Pythonic 方式

问题描述

我想根据列表的长度限制 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

标签: pythonlistif-statementcode-formatting

解决方案


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

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

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

推荐阅读