首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中创建可索引的空列表?

如何在python中创建可索引的空列表?
EN

Stack Overflow用户
提问于 2011-07-10 08:11:13
回答 4查看 1K关注 0票数 0

有没有办法在python中灵活地创建大的(即可索引的)空列表?

这就是我目前正在做的事情:

代码语言:javascript
复制
firstgen=G.neighbors(node1)
secgen=[]
thirdgen=[[],[],[],[],[],[],[],[],[],[],[]]  #11 brackets because len(secgen)=11

for i in firstgen:
    secgen.append(G.neighbors(i))   

for i in range(len(secgen)):
    for j in secgen[i]:
        thirdgen[i].append(G.neighbors(j))

我正在做的是寻找网络中原始节点的邻居,所以我的第三代邻居列表应该是这样的结构[ [...,...,...],[...,...,...],[...,...,...] ]但是我是python的新手,没有办法在不手动输入thirdgen长度的情况下实现这一点。

对于令人困惑的解释,我很抱歉。我这样做是为了在网络中找到三元组,也就是说,如果第三代节点中的任何一个与初始节点相同,那么我就找到了三元组。

谢谢!

编辑:我刚刚意识到我可以简单地将thirdgen.append([])放在第一个循环中。不过,我仍然对其他方法感到好奇。

EN

回答 4

Stack Overflow用户

发布于 2011-07-10 08:32:57

您不需要创建空列表。您可以使用列表理解来构建嵌套列表:

代码语言:javascript
复制
firstgen = G.neighbors(node1)
secndgen = [G.neighbors(node) for node in firstgen]
thirdgen = [[G.neighbors(node) for node in group] for group in secndgen]

  • firstgen: [node, ...]
  • secndgen: [[node, ...], ...]
  • thirdgen: [[[node, ...], ...], ...]
票数 3
EN

Stack Overflow用户

发布于 2011-07-10 08:14:53

也许:

代码语言:javascript
复制
thirdgen = [list() for x in range(len(secgen))]
thirdgen = [list() for x in range(11)]

或者我可能误解了实际的问题。

票数 2
EN

Stack Overflow用户

发布于 2011-07-10 08:15:16

您可以按如下方式使用列表生成器:[[] for x in range(11)]

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

https://stackoverflow.com/questions/6638339

复制
相关文章

相似问题

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