搜索列表中的列表

时间:2014-07-18 20:35:03

标签: python

说我有一个清单:

D = [str1, str2, str3, str4, str5, str6, ... str100]

我想使用 [str4 str5] 作为关键字搜索列表,并返回关键字最后一个元素的索引。在这种情况下,我想返回 4 ,因为 str5 是我的关键字中的最后一个元素,其搜索列表中的索引(即D)为4。

有没有有效的方法呢?我想过使用for循环,但这需要花费太多时间,因为我有一个非常大的列表。列表理解是解决方案吗?

编辑:

要回答Ben的问题,我需要搜索 [str4 str5] 作为一个集合,因为我想确保这两个字符串在一起。 [str5] 可能会在未来 str4之前出现{{1}}。

1 个答案:

答案 0 :(得分:-1)

确定是否存在第一个值,然后确定第二个值是否跟随它。如果值不存在或者值不是按顺序存在,则需要应用所需的逻辑。

x = ['str4', 'str5']

if d.index(x[0]) + 1 == d.index(x[1]):
    return d.index(x[1])