首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于存储N个列表的高效数据结构,其中N非常大

用于存储N个列表的高效数据结构,其中N非常大
EN

Stack Overflow用户
提问于 2020-10-20 15:51:14
回答 4查看 88关注 0票数 0

我将需要存储N个列表,其中N是大的(100万)。例如,

代码语言:javascript
复制
[2,3]
[4,5,6]
...
[4,5,6,7]

每一项都是大约0-10000个元素的列表。我想使用一个数字数组的列表,比如

代码语言:javascript
复制
np.array([[2,3],[4,5,6])

然后,在尝试附加到numpy数组中的列表时,我遇到了效率问题。这里还告诉我:Efficiently append an element to each of the lists in a large numpy array,不要使用numpy数组的列表。

就内存和时间效率而言,什么样的数据结构才是存储此类数据的好数据结构?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-10-20 16:02:59

除非您存储的元素遵循某种模式,否则必须使用嵌套列表,因为没有其他方法可以将这些元素从其他元素中取出。

在Python中:

代码语言:javascript
复制
listOfLists = [[1,2,3],
               [4,5,6],
               [7,8,9]]

因此,无论何时想要操作这个列表,都可以使用numpy函数

代码语言:javascript
复制
>>> np.mean(listOfLists)
5.0
>>> np.max(listOfLists)
9
票数 1
EN

Stack Overflow用户

发布于 2020-10-20 15:59:04

也许可以使用字典:

代码语言:javascript
复制
d={}
for i in range(N):
  d[i]=your_nth_list

您只需通过以下方式附加它们:

代码语言:javascript
复制
d[k].append(additional_items)

(对于每个包含1000个条目的10.000.000列表,它是有效的)

票数 2
EN

Stack Overflow用户

发布于 2020-10-20 15:53:10

尝试嵌套列表

代码语言:javascript
复制
nestedList = [[2,3],[4,5,6]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64440765

复制
相关文章

相似问题

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