我有一个大字符串和一个搜索字符串列表,并希望构建一个布尔列表,指示大字符串中是否存在每个搜索字符串。在Python中,最快的方法是什么?
下面是一个使用天真方法的玩具示例,但我认为有一种更有效的方法可以做到这一点。
例如,下面的示例应该返回1、1、0,因为测试字符串中同时存在"hello“和"world”。
def check_strings(search_list, input):
output = []
for s in search_list:
if input.find(s) > -1:
output.append(1)
else:
我使用的是Python 2.7。
假设我有一个这样的列表:
string_list = ['hello', 'apple', 'green', 'paint', 'sting']
其中列表中的每个字符串都具有相同的长度。
我想创建一个生成器,它将执行类似以下代码的操作:
for i in xrange(len(string_list)):
my_gen = (ch for a_string[i] in string_list)
所以第一次运行时,my_gen会有'h','a'
我有一个包含一些内容的文本文件。我需要经常搜索这个内容。我有以下两个选择,哪一个是最好的(通过更快的执行)?
方法1:
def search_list(search_string):
if search_word in li:
print "found at line ",li.indexOf(search_word)+1
if __name__="__main__":
f=open("input.txt","r")
li=[]
for i in f.readlines():
我想知道列表中是否包含子字符串的列表。例如,我有:
string_list = ['item1', 'item2', 'subject3', 'subject4']
和子字符串列表
substrings = ['item', 'subject']
我想知道string_list的任何条目中是否包含' item‘或'subject’。就个人而言,我会做类似这样的事情:
any('item' in x for x in string_list)
这
首先,我检查了几个可能的解决方案,但它们没有解决我的问题的方法。
下面是我的代码:
import webbrowser
webstr = ['https://','http://','www.','.com','.co.','.org','.net','.org','.gov','.edu','.nic']
search_string = input("Search Google or Type a URL:
在遍历文件和搜索文件中出现的几个单词时。我编写了列表理解,试图为每个读取行在列表中存储匹配的单词。
search_strings = ["happy", "sad", "between"]
fio = open("text.txt", encoding="utf-8")
# reading file and trying to find occurences of search_string in text file
for line in fio:
# first attempt: not what I
我有一个这样的课程。
class man
{
public string name { get; set; }
public string mail { get; set; }
}
我有一个这样的列表
List<man> ppl = new List<man>();
我想在列表中搜索一个叫"Nimal“的人,然后把他删除。如何做到这一点?
将下面的while循环转换为for循环。您的代码应该编写,这样返回语句就不需要更改。允许您在while循环本身之前更改代码。string_list是包含至少15个字符串'***'实例的字符串列表。
j=0
while i<15:
if string_list[j] ='***':
i +=1
j +=1
return j
我首先尝试这样做,它说,而i<15和i = i+1,所以我知道我的范围从(0. 15 )不等,不包括15,所以基本上我们会有类似的i = range(15),所以我们会有这样的东西:
for i