Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查列表中是否有多个子字符串,而不显式定义子字符串_Python_String_List_Search - Fatal编程技术网

Python 检查列表中是否有多个子字符串,而不显式定义子字符串

Python 检查列表中是否有多个子字符串,而不显式定义子字符串,python,string,list,search,Python,String,List,Search,我有一个要分析的日志列表。我已将这些日志放入Python的列表中。我要检查以确保以下子字符串“pattern”不会出现两次以上: 'Processing id xxxxxx' 其中xxxxxx是一个特定ID。基本上,我不希望日志处理相同ID的次数超过两次。。。它可以处理几个不同的ID,但是如果同一个ID反复处理,我想知道。我不知道ID将是什么,我只知道我不想重新处理同一个ID 我知道如何检查子字符串是否不止一次出现,但我不知道如何检查我当时不完全知道的id # response is th

我有一个要分析的日志列表。我已将这些日志放入Python的列表中。我要检查以确保以下子字符串“pattern”不会出现两次以上:

'Processing id xxxxxx' 

其中xxxxxx是一个特定ID。基本上,我不希望日志处理相同ID的次数超过两次。。。它可以处理几个不同的ID,但是如果同一个ID反复处理,我想知道。我不知道ID将是什么,我只知道我不想重新处理同一个ID

我知道如何检查子字符串是否不止一次出现,但我不知道如何检查我当时不完全知道的id

# response is the list of logs that I am analyzing.
# substring is the 'Processing id xxxxxx' string.

process_str = [s for s in response if substring in s]
if len(process_str) > 2:
   ## raise a flag here

循环遍历日志以获取处理id并将其存储在字典中,其值为发生的次数

ids = {}
for s in response:
    m = re.search(r'(Processing id )(\d{6})', s)
    id = m.group(2)
    
    if id not in ids:
        ids[id] = 1
    else:
        ids[id] += 1

非常感谢。我想知道这是否适用于任何长度的ID?我的一些ID的长度为7位,而其他ID的长度可以是6或5位。只需将\d{6}更改为\d+,它就可以处理任何长度