【发布时间】:2015-06-05 08:17:49
【问题描述】:
尝试查找包含元素的子列表的索引。我不确定如何准确地说明问题(这可能是我在手册中忽略它的原因),但是我的问题是:
list1 = [[1,2],[3,4],[7,8,9]]
我想找到 list1 中出现 7 的第一个子列表(在这种情况下,索引为 2,但 lll 可能非常长)。 (情况是每个数字只会出现在 1 个子列表中 - 或者根本不会出现。这些只是整数列表) IE。像
这样的函数spam = My_find(list1, 7)
会给垃圾邮件 = 2 我可以尝试循环创建布尔索引
[7 in x for x in lll]
然后 .index 找到'true' - (根据Most efficient way to get indexposition of a sublist in a nested list) 然而,必须建立一个新的布尔列表确实效率很低..
我的代码开始时 list1 相对较小,但它会不断增加(最终将有 100 万个数字排列在 list1 的大约 5000 个子列表中
有什么想法吗?
【问题讨论】:
标签: python list nested-lists