首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何限制python列表中的元素数

如何限制python列表中的元素数
EN

Stack Overflow用户
提问于 2018-04-18 20:48:01
回答 2查看 377关注 0票数 1

我来自C世界,在那里可以预先控制缓冲区的大小。例如,声明一个包含10个元素的doubles缓冲区,我们这样做:

代码语言:javascript
复制
double *buffer = calloc(10, sizeof(double));

在Python中,与之完全相反的是,我们不需要通过说buffer=[]来担心缓冲区的细节和大小。

我的问题是:如果我想将python列表限制为保存任意数量的值,比如10倍,那么我们如何使用默认python列表或numpy

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-18 21:00:13

为了确保数组的大小和类型是固定的,您应该使用numpy。即使对非数字数据也是如此。

下面是一些例子。

代码语言:javascript
复制
import numpy as np

arr = np.zeros(10, dtype=float)
# array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]), dtype = float64

arr = np.zeros(10, dtype=int)
# array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), dtype = int32

arr = np.empty(10, dtype='<U8')
# array(['', '', '', '', '', '', '', '', '', ''],
#       dtype='<U8')
票数 2
EN

Stack Overflow用户

发布于 2018-04-18 20:58:43

可以从具有maxlen属性的集合中使用deque

代码语言:javascript
复制
from collections import deque
d = deque(maxlen=2)

然后,您可以添加、弹出、迭代或做任何您想要的限制列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49908780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档