python - 有没有办法用长度可能不是大列表长度的整数倍的较小列表中的元素填充大列表?
问题描述
我有一个列表,我知道它会很大,但长度可能会有所不同,例如length = 52
。我有一个较小的奇数列表,其长度也可能不同,但永远不会与 large_list 的大小相似,例如
small_ints=[31,33,35,37,39,41]
我想将小清单复制到我的大清单中以提供
large_list = [31,31,31,31,31,33,33,33,33,33,35,35,...41]
len(large_list) = 52
每个数字重复完全相同的次数并不重要,大约可能就足够了。
我几乎找到了一个预先分配列表的地方,large_list=[None]*53
但后来出现了错误,现在我什至找不到给我有用提示的 Stack Overflow 页面。
解决方案
这个怎么样?
numbers = [31, 33, 35, 37, 39, 41]
size = 11
n_copies = size // len(numbers)
excess = size % len(numbers)
result = sorted([element
for i in range(n_copies)
for element in numbers] + numbers[:excess])
print(result)
print(len(result))
输出:
[31, 31, 33, 33, 35, 35, 37, 37, 39, 39, 41]
11
这使得尽可能多的副本numbers
在组合时不会超过size
. 如果有差异,则填充来自 的元素numbers
。然后对整个事物进行排序以将相同的值组合在一起。
您可以更改size
为 52(我使用 11,因此输出会更短)。
推荐阅读
- javascript - React hooks 函数依赖
- sql - 如何向我的 Hive 表添加分区?
- react-native - 对 firebase 数据库字段的多个查询
- c# - C# Asp Core 2.2 模型绑定对象在 OnGet() 中实例化,但不在 OnPost() 中
- facebook - 如何在 React Native 中启动 ViewContent facebook 事件?
- azure-devops - 来自私有源的 Azure 站点扩展
- dask - 异步 Xarray 写入 Zarr
- c# - 是否有开箱即用的方式将 HTTP 请求的整个主体绑定到 ASP.NET Core 控制器操作中的字符串参数?
- python - 写入 XML 文件需要大数组作为内存中的字符串
- scala - Scala - 创建类型集合的惯用方式