找到单个元素的子数组的索引

时间:2015-10-14 15:27:56

标签: python arrays

我有一组图表的邻接列表。我想找到度数为1的顶点。例如,如果a=[[0,1,2],[1],[2],[1,2]],那么我想要12,因为a[1]a[2]有单元素。

2 个答案:

答案 0 :(得分:1)

如果您只查找含有一个元素的sublists,请尝试使用

[i for i in a if len(i) == 1]

输出:

  

[1,[2]]

它名为list comprehension,如果原始列表中的子列表只包含一个元素,我们会创建新列表

编辑:由于上述方法会创建新的子列表,我们需要将列表展平

list(b for i in a if len(i) == 1 for b in i)
  

[1,2]

答案 1 :(得分:0)

我推荐enumerate()功能:

a = [[0,1,2],[1],[2],[1,2]]
indices = [i for i, e in enumerate(a) if len(e) == 1] 
print(indices)