我在字符串列表中寻找一个字符串,要找到的字符串是“search”列表中某个字符串的子集 我需要一种方法来获取在列表的哪个项目中找到了字符串 示例:
mylist = ['hola pepe', 'hola manola', 'hola julian', 'holasofi']
searchitem1 = 'pepe'
searchitem2 = 'sofi'
我试过:
mylist.index('pepe')
但没有起作用(因为我猜它不是确切的字符串?) 我也试过:
if any(ext in 'pepe' for ext in mylist): mylist.index(ext)
但也没用。。。。 我所看到的是当字符串被找到时停止,并从发生查找的项的代码中获取。。。。你知道吗
谢谢!你知道吗
如果您是Python新手,那么现在使用Chris answer中的经典方法可能会更好。但是如果您对生成器感到好奇,请参见下面使用生成器表达式的示例(基本上与Chris answer相同,但更简洁):
索引可以像往常一样提取
即使生成器表达式中没有与if子句匹配的元素,也始终会创建生成器对象。你知道吗
要在
next()
不产生更多值时处理异常,请使用try
块捕获StopIteration
:您可以编写一个函数,当它找到包含您感兴趣的字符串的第一个索引时将返回该函数。另外,如果需要包含字符串的所有索引,可以使用yield创建一个生成器,生成包含该字符串的所有索引。你知道吗
输出
相关问题 更多 >
编程相关推荐