因此,我有一个大的嵌套列表,需要执行以下操作:
查找包含特定元素的列表的数目,如果该数目大于2,则删除第2个之后的所有列表
一个基本的例子:
el = 'ABCfrog'
input = [['ABCdog','a','b'],['ABCfrog','sadg','aseas','ww'],['ABCfrog','dd','ee','ww'],['ABCfrog','dsf','aseas','r','13451v51'],['ABCfrog','3452'],['ABCmouse','xx',],['ABCorange','324213v4']]
output = [['ABCdog','a','b'],['ABCfrog','sadg','aseas','ww'],['ABCfrog','dd','ee','ww'],['ABCmouse','xx',],['ABCorange','324213v4']]
尝试:
generic_list = []
for i in input:
if el in i:
generic_list.append(i)
number = len(generic_list)
if number>2:
input.something...
这应该起作用:
这个算法应该可以工作——当元素在子列表上循环时,它会记录元素被看到的次数,并且只有当它是包含该元素的前两个子列表之一,或者根本不包含该元素时,才会将子列表追加到输出。如果我理解正确的话,我想这就是你想的逻辑
另外,请注意,我将
input
变量重命名为inputs
,以避免覆盖内置函数input
相关问题 更多 >
编程相关推荐