如果长度超过某个值,则从列表列表中删除元素

Fal*_*ard 1 python arrays nested nested-lists

这应该是一个容易解决的简单问题。我正在尝试迭代我的嵌套列表并删除低于特定长度的任何列表。

for i in connections:
    if(len(i) >= 3):
        continue
    else:
        connections.remove(i)
Run Code Online (Sandbox Code Playgroud)

这是嵌套列表:

[[55, 35, 19, 1], [2, 78], [3, 78], [6, 78], [], [], [8, 7, 78], [9, 78], [9, 78], [10, 78], [12, 11, 78], [13, 78], [13, 78], [14, 78], [16, 15, 78], [17, 78], [18, 78], [75, 78], [75, 78], [21, 20, 78], [23, 22, 78], [23, 22, 78], [24, 78], [24, 78], [25, 78], [26, 78], [29, 28, 78], [], [30, 78], [30, 78], [31, 78], [33, 32, 78], [34, 78], [34, 78], [76, 78], [36, 78], [39, 38, 78], [], [40, 78], [40, 78], [41, 78], [43, 42, 78], [44, 78], [44, 78], [46, 45, 78], [47, 78], [47, 78], [48, 78], [50, 49, 78], [51, 78], [51, 78], [53, 52, 78], [54, 78], [54, 78], [77, 78], [56, 78], [59, 58, 57, 78], [60, 78], [60, 78], [60, 78], [61, 78], [63, 78], [], [64, 78], [66, 65, 78], [67, 78], [67, 78], [69, 68, 78], [70, 78], [70, 78], [72, 71, 78], [73, 78], [73, 78], [74, 78], [78], [78], [78], [78], []]
Run Code Online (Sandbox Code Playgroud)

这是上面的代码让我得到的:

[[55, 35, 19, 1], [3, 78], [8, 7, 78], [9, 78], [12, 11, 78], [13, 78], [16, 15, 78], [18, 78], [75, 78], [21, 20, 78], [23, 22, 78], [23, 22, 78], [24, 78], [26, 78], [29, 28, 78], [30, 78], [31, 78], [33, 32, 78], [34, 78], [36, 78], [39, 38, 78], [], [40, 78], [41, 78], [43, 42, 78], [44, 78], [46, 45, 78], [47, 78], [50, 49, 78], [51, 78], [53, 52, 78], [54, 78], [56, 78], [59, 58, 57, 78], [60, 78], [61, 78], [], [66, 65, 78], [67, 78], [69, 68, 78], [70, 78], [72, 71, 78], [73, 78], [78], [78], []]
Run Code Online (Sandbox Code Playgroud)

它确实捕获了其中的一些元素,但您可以看到其中仍然有少于 3 个元素的元素。我真的被这个难住了。

Sup*_*tew 8

尝试类似的东西

new_list=[x for x in connections if len(x)>=3]
Run Code Online (Sandbox Code Playgroud)