Python:在多维列表中查找项目

3
我有一个列表的列表,其中一部分代码如下:
```python x_attrib = [] ```
self.x_attrib.append(["Is_virtual", False, 'virtual', 'flag'])
self.x_attrib.append(["X_pos", None, 'pos/x', 'attrib'])
self.x_attrib.append(["Y_pos", None, 'pos/y', 'attrib'])

我想创建一个功能,返回第一个位置的项目索引(即,我想将"X_pos"传递给一个函数,并使其返回1)。

我该如何做?


你尝试过什么?(如果你能展示出尝试过但失败了的证据,你更容易得到帮助,而不是只是要求解决方案) - Winston Ewert
嘿,我不知道该怎么开始。我正在尝试在列表内部的列表中查找一个项目,然后返回外部列表。我想我可以编写一个迭代函数,但这将非常低效。我想知道是否有更优雅的方法来做到这一点。 - Biosci3c
1个回答

4

如果我理解正确,您需要做类似于这样的事情:

def find_it(key):
   for index, sublist in enumerate(lists):
       if sublist[0] == key:
            return index

话虽如此,您的代码看起来似乎错误地解决了更一般的问题。也就是说,这个列表看起来不是一个好主意。如果没有更好的想法,我无法确定您在做什么。


我正在解析XML,并将值、XPaths等存储在列表中。我这样做是为了避免重复代码,因为我有几种不同类型的文件需要解析。是的,这很丑陋,但我想不到更好的方法。 - Biosci3c
我输入了那段代码(将lists-->x_attrib),但它在第二行显示语法不正确。 - Biosci3c
1
当你的代码可以运行时,你可以将其发布在codereview.stackexchange.com上,我很可能会告诉你如何使其更加优美。 - Winston Ewert
@Blosci3c,那只是一个测试,看看你是否理解我写的内容。开玩笑的,第二行缺少冒号。 - Winston Ewert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接