【发布时间】:2018-04-07 10:09:05
【问题描述】:
所以我有两个列表,一个普通列表和一个嵌套列表,
list1 = ['john','amal','joel','george']
list2 = [['john'],['jack','john','mary'],['howard','john'],['jude']]
我想检查 list1 中的任何字符串是否存在于 list2 中,如果存在,则返回 list2 中的字符串(在两个列表中)的索引。 演示所需输出的示例代码如下所示:
out = [(ind,ind2) for ind,i in enumerate(list2)
for ind2,y in enumerate(i) if 'john' in y]
print out
它返回:[(0, 0), (1, 1), (2, 1)]
上面的代码确实输出了索引,但仅限于我们手动输入的字符串。可以按照我上面解释的那样做吗?任何帮助将不胜感激。(嵌套列表相当新)。 谢谢!
【问题讨论】:
-
如果是,我很抱歉,但我希望得到有关此查询的全面答案
-
是的,我提供了一个示例代码,其输出是我希望得到的
-
他们想检查
list1中的任何字符串是否包含在y中,不是吗?除非我误解了什么,否则这个骗局是 100% 准确的。将if 'john' in y替换为来自欺骗的代码 -> 问题已解决。 -
我看不出你的问题中有一个嵌套列表这一事实与欺骗的适当性有什么关系根本。
out = [(ind,ind2) for ind,i in enumerate(list2) for ind2,y in enumerate(i) if any(x in y for x in list1)]是否给你想要的输出?如果是,那么它是重复的。
标签: python string python-2.7 nested-lists