python - 基于列表长度设置限制的 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
解决方案
这个答案做了类似的事情:https ://stackoverflow.com/a/4092550/11652155
对于您的情况,您只需更改下限和上限:
lb_height = max(5, min(len(self.content), 10))
推荐阅读
- c# - 我怎么知道 UpdateOneAsync 失败(来自 UpdateResult)?
- kubernetes - 在 Chart.yaml 中获取最新版本
- python - 用 Python 编写回调函数,供加载的 API 中的 C 例程使用。回调函数有 va_list
- node.js - NodeJS Express:发现错误后重新填充表单
- powershell - 移动文件,检查重复项并在存在时增量重命名
- typescript - 以最佳方式捆绑 TypeScript 3 库项目定义
- javascript - 无法在javascript中获取函数外部变量的值
- git - 在 Pycharm 中移动文件时,它会自动添加到 git 中。如何禁用此行为?
- javascript - 如何替换 js 对象中的文本?
- ios - Swift:在同一个 UICollectionViewController 中拖放单元格