【问题标题】:finding index in a nested list [duplicate]在嵌套列表中查找索引[重复]
【发布时间】:2011-10-21 17:37:45
【问题描述】:

可能重复:
efficient word indexing in python

对于基本问题道歉,我如何在ref 中找到与“黄色”对应的索引((1,2),(2,1),(2,2)) 并将它们存储起来,以便我可以在不重新运行搜索的情况下访问它们?

ref1 = "this is a test" 
ref2 = "this is a yellow test"
ref3 = "this is yellow"
ref4 = "yellow and orange are colors"
ref = ((ref1,ref2),(ref3,ref4))

【问题讨论】:

  • 我不明白你的问题。另外,为什么要标记列表?您的问题中没有任何列表。这些是元组。
  • 大卫,我们这些关心社区的人发布刚刚以不同名称关闭的内容通常被认为是一种侮辱。
  • 不好意思,我是新人,之前不明白为什么关了,只是想换个问题
  • 大卫,欢迎您编辑和澄清您的问题。如果您有效地修改了您的问题,则反对票将被撤消,问题将被重新打开,并且很快就会得到答案。
  • 这不应该被关闭。 “重复”已关闭,因为其中没有问题(尽管在编辑中添加了一个问题)。这可能具有相同的内容,但它不是重复的,因为它实际上包含一个问题。

标签: python list indexing nested


【解决方案1】:

只是为了它:

[(k,i) for k,m in enumerate(ref, 1) for i,j in enumerate(m, 1) if 'yellow' in j]

但您可能想要真正的索引(从零开始)...如果是这样,请删除 enumerate 的第二个参数。

【讨论】:

    【解决方案2】:

    我不确定您的意思,但如果您想在每次看到“黄色”一词时从嵌套列表(或元组)的列表(或元组)生成对的列表:

    answer = []
    for i in range(len(ref)):
        nested_tuple = ref[i]
        for j in range(len(nested_tuple)):
            string = ref[i][j]
            if string.find('yellow') != -1: answer.append((i,j))
    

    【讨论】:

      猜你喜欢
      • 2018-10-24
      • 2012-10-15
      • 2020-05-08
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-02-21
      • 2019-09-15
      • 2016-02-29
      相关资源
      最近更新 更多