我有一个列表列表,对于列表中的每个列表,我想将其拆分为两个列表,以便每个列表的长度最大为 30,否则我会丢弃无法放入 30 且不包含的剩余部分t 大约接近 30。
例如:列表 1 的长度为 64 -> 将其拆分为 30、30 的两个列表,并丢弃剩余的 4 个。
或列表 2 的长度为 41,我生成一个 30 的新列表并丢弃 11。
或列表 3 的长度为 58,我生成两个 30 和 28 的列表。
我正在使用我发现的列表拆分功能:https ://stackoverflow.com/a/1751478/2027556
现在我的代码是这样的:
new_list = []
for list_ in cluster:
if len(list_) < 31 and len(list_) > 24:
new_list.append(list_)
elif len(list_) >= 31:
chunks_list = chunks(list_, 30)
for item in chunks_list:
if len(item) > 25:
new_list.append(item)
正如你现在所看到的,我只是在制作一个新列表并浏览旧列表,但我认为有一个更优雅的 pythonic 解决方案可能使用列表理解?