包含某些元组的元组的元组索引列表

用户名

我有一个list1元组的3个子列表的列表

[[(['A', 'B', 'A'], ['B', 'O', 'A']),
  (['A', 'B', 'A'], ['B', 'A', 'O']),
  (['A', 'B', 'O'], ['B', 'O', 'A']),
  (['A', 'B', 'O'], ['B', 'A', 'O']),
  (['A', 'B', 'A'], ['B', 'O', 'A']),
  (['A', 'B', 'A'], ['B', 'A', 'O'])],
 [(['A', 'B', 'A'], ['B', 'A', 'A']),
  (['A', 'B', 'O'], ['B', 'A', 'A']),
  (['A', 'B', 'A'], ['B', 'A', 'A'])],
 [['A', 'B', 'A'], ['A', 'B', 'O']],
 [['A', 'B', 'B']],
 [['B', 'A', 'A']]]

假设list2 = ['A', 'B', 'A'].我的目标是获取包含该元组的任何成对元组(或一组单例元组)的索引列表我尝试按以下方式使用该函数,但结果不正确list1list2enumerate

print([i for i, j in enumerate(bigset) if ['A', 'B', 'A'] in j[0] or 
       ['A', 'B', 'A'] == j[0] or [['A', 'B', 'A']] in j[0]])

谁能帮我解决这个问题?由于出现在中的元组的不同大小的元组不匹配,我感到非常困惑list1

另一个问题我已经是:我想要找的三元素列表的总数list1因此,如果我用手做,答案是22但是,如何在代码中做到这一点呢?我猜我们需要使用两个for循环吗?

预期输出对于list1上面给出的list2,我们将获得包含list2is的索引列表[0,1,5,6,7,9,10]

武术P

好,那你去

之所以使用递归,是因为我们不知道您list1SO的深度,索引将像这样计算:

0,1
2,3,4,
6,7
8,
9,10,11,12

等等...(与您在1行中写入的顺序相同)

结果将是:

[0, 2, 8, 10, 12, 16, 18]

现在的代码

def foo(l,ref):
    global s
    global indexes
    for items in l:  #if it's an element of 3 letters
        if len(items)== 3 and len(items[0])==1:
            if items == ref: 
                indexes.append(s) #save his index if it match the ref
            s+= 1  #next index
        else: #We need to go deeper
            foo(items,ref)
    return(s)
          
        
list1 = [[(['A', 'B', 'A'], ['B', 'O', 'A']),
  (['A', 'B', 'A'], ['B', 'A', 'O']),
  (['A', 'B', 'O'], ['B', 'O', 'A']),
  (['A', 'B', 'O'], ['B', 'A', 'O']),
  (['A', 'B', 'A'], ['B', 'O', 'A']),
  (['A', 'B', 'A'], ['B', 'A', 'O'])],
 [(['A', 'B', 'A'], ['B', 'A', 'A']),
  (['A', 'B', 'O'], ['B', 'A', 'A']),
  (['A', 'B', 'A'], ['B', 'A', 'A'])],
 [['A', 'B', 'A'], ['A', 'B', 'O']],
 [['A', 'B', 'B']],
 [['B', 'A', 'A']]]

list2 = ['A', 'B', 'A']
indexes = []
s=0
count= foo(list1,list2)
print(indexes)

s是我们正在处理的索引count是元素(22)的总数。Indexes是您想要的索引列表。

即使您制作了list3 = [list1,list1,[list1,[list1],list1]]这项工作也可以尝试。

祝您好运,现在就结束脚本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

修改包含元组的列表

来自分类Dev

元组元素的元组列表?

来自分类Dev

元组列表中的索引元素

来自分类Dev

通过索引列表置换元组

来自分类Dev

元组列表中的索引元素

来自分类Dev

多索引的 Pandas 元组列表

来自分类Dev

如何通过给定索引修改包含特定值的元组列表中的那些元组

来自分类Dev

如果元组包含给定索引中的某个元素,则从列表中删除该元组

来自分类Dev

元组的元组列表列表

来自分类Dev

如果满足某些条件,则从元组列表中删除元组

来自分类Dev

如何从元组列表求和所有元组索引n的值?

来自分类Dev

从元组列表中获取带有“ NaN”的元组索引

来自分类Dev

在元组列表中删除包含nan的元组-Python

来自分类Dev

寻找在元组列表中合并包含重复字段的元组的算法

来自分类Dev

在元组列表中删除包含nan的元组-Python

来自分类Dev

在元组列表中交换元组

来自分类Dev

准确检查元组是否包含某些值

来自分类Dev

如何从元组列表中排除某些“列”?

来自分类Dev

如果元组包含np.nan,则在元组列表中删除元组

来自分类Dev

Python'列表索引必须是整数,而不是元组”

来自分类Dev

使用通配符查找元组列表的元素的索引

来自分类Dev

使用元组/列表作为数组索引(Python)

来自分类Dev

如何删除元组列表中的偶数索引?

来自分类Dev

获取列表中部分元组的索引

来自分类Dev

Python:包含元组的排序列表

来自分类Dev

元组的绘图列表(包含图形编号)

来自分类Dev

元组包含C#中的拖曳列表

来自分类Dev

TypeError:尝试更改数组列表的某些元素时,列表索引必须是整数,而不是元组

来自分类Dev

将两个列表的项合并到也包含索引的元组列表中

Related 相关文章

热门标签

归档