Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否有一种方法可以使用较小列表中的元素填充较大列表,该列表的长度可能不是较大列表长度的整数倍?_Python_Python 3.x - Fatal编程技术网

Python 是否有一种方法可以使用较小列表中的元素填充较大列表,该列表的长度可能不是较大列表长度的整数倍?

Python 是否有一种方法可以使用较小列表中的元素填充较大列表,该列表的长度可能不是较大列表长度的整数倍?,python,python-3.x,Python,Python 3.x,我有一个列表,我知道它会很大,但长度可能会有所不同,比如说length=52。 我有一个较小的奇数整数列表,它的长度也可能不同,但它的大小永远不会与大的_列表相似, e、 g 我想把这个小名单复制到我的大名单上,给大家看 large_list = [31,31,31,31,31,33,33,33,33,33,35,35,...41] len(large_list) = 52 每个数字重复完全相同的次数并不重要,大概就足够了 我几乎得到了一个预先分配的列表,比如large\u list=[Non

我有一个列表,我知道它会很大,但长度可能会有所不同,比如说
length=52
。 我有一个较小的奇数整数列表,它的长度也可能不同,但它的大小永远不会与大的_列表相似, e、 g

我想把这个小名单复制到我的大名单上,给大家看

large_list = [31,31,31,31,31,33,33,33,33,33,35,35,...41]
len(large_list) = 52
每个数字重复完全相同的次数并不重要,大概就足够了

我几乎得到了一个预先分配的列表,比如
large\u list=[None]*53
,但后来出现了错误,现在我甚至找不到堆栈溢出页面,它给了我一个有用的提示。

这怎么样

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
这使得
数字
的副本数量尽可能多,当它们组合在一起时,元素数将不超过
大小
。如果存在差异,则会用
数字中的元素填充。然后对整个内容进行排序,将相同的值分组在一起


您可以将
size
更改为52(我使用了11,因此输出会更短)。

您是否尝试使用较小列表中的值随机填充较大列表?我认为您没有解释小列表如何复制的逻辑。为什么不将小列表中的值附加到大列表中呢?你说你
有一个列表
,但在你尝试的代码中,似乎你正在尝试创建这个列表。正如@MarkMeyer所说的,为什么不直接添加?因为你似乎只是在尝试创建一个加权机会列表。这显然是一种家庭作业。除非有人告诉我,否则没有理由“预分配”python列表。我正在尝试创建一个渐变(大的列表),但是渐变的大小会有所不同,我可能需要3或4个数据。渐变值必须在一定范围内(小列表)。这不是作业,我48岁了!谢谢你,这是完美的gmds。我能问一下2个for循环吗?我看到第二个for循环没有冒号或缩进-我猜这是一种我还没有遇到的编程形式。非常好用,非常感谢。@Windy71我想我的答案会对你有所帮助。
[31, 31, 33, 33, 35, 35, 37, 37, 39, 39, 41]
11