python - 如果前一个列表超过项目阈值,则按列表序列创建新列表
问题描述
我正在使用 Spotify API 根据首次添加的日期(添加到外部播放列表集)按时间顺序将曲目添加到一系列播放列表中,例如:
- 播放列表被命名为播放列表 #1、播放列表 #2、播放列表 #3 等
- 每个播放列表包含 100 个曲目(列表项)
- 一旦当前播放列表达到 100 个项目,就会创建一个新的播放列表,并将更多项目添加到该播放列表中,依此类推。
一个例子是:
从 API 中,我得到了 244 首需要分类到播放列表中的曲目。
播放列表#4 已经有 70 首曲目,因此需要填充 30 首曲目。
播放列表 #5 不存在,因此需要创建并填充 100 首曲目。
播放列表#6 充满了 100 首曲目。
播放列表 #7 充满了剩余的 14 首曲目。
有没有办法自动化这个流程?
我设法获得了一些代码来按顺序生成播放列表名称:
lst = ['Playlist #1', Playlist #2', 'Playlist #3', 'Playlist #4']
lst1 = max(lst, key=lambda x: int(x.split('#', 1)[1]))
highest_number = int(lst1.split("#")[1]) + int(1)
new_number = "Playlist #" + str(highest_number)
new_number --> Playlist #5
lst.append(new_number)
lst
不知道如何考虑这个问题,所以任何帮助将不胜感激。
解决方案
我设法找到了按顺序获取新列表名称问题的第一部分的解决方案 - 它并不漂亮,但它有效:
lst = ['Playlist #5', 'Playlist #2', 'Playlist #3', 'Playlist #4']
lst1 = max(lst, key=lambda x: int(x.split('#', 1)[1]))
highest_number = int(lst1.split("#")[1]) + int(1)
new_number = "Playlist #" + str(highest_number)
new_number
lst.append(new_number)
lst
一旦我到达那里,将发布解决方案的第二部分!
推荐阅读
- entity-relationship - 实体-关系模型:如何建模一个部门的员工正在从事同一部门的项目?
- sympy - 我可以用 Sympy 解决这个问题吗?
- architecture - Pytorch cifar 数据集:RuntimeError:大小不匹配,m1:[4 x 2048],m2:[1568 x 10]
- python - 如何使用 Appium 在 Windows 桌面应用程序上上传文件?
- c# - NHibernate 多次执行相同的查询
- javascript - 使用 Babel 转换 JavaScript 文件以在 IE11 中使用
- haskell - 这个“派生新类型”的语法是什么?
- indexing - 新的 CSV 文件未与索引 Splunk 同步
- octobercms - 如何在 octobercms 中从前端删除表格行
- python - Heroku Flask Socketio 连接中断