如何在python中从列表中搜索字符串

如何在python中从列表中搜索字符串,python,Python,我有python代码: bucket = event['Records'][0]['s3']['bucket']['name'] key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key'].encode('utf8')) try: response = s3.get_object(Bucket=bucket, Key=key) contents = response['Body'].read()

我有python代码:

bucket = event['Records'][0]['s3']['bucket']['name']
key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key'].encode('utf8'))
try:
    response = s3.get_object(Bucket=bucket, Key=key)
    contents = response['Body'].read()
    print(contents)
它将显示如下结果:

D_REGION="east"

A_NAME="diet"

V_ID="44"

K_PASS="N/A"

TRIAL_PRODUCTION="TRIAL"

我想通过检查值是试用版还是生产版
然后打印整个列表,否则它将失败。 如何使用python从列表中搜索字符串

>>> contents = '''D_REGION="east"
... 
... A_NAME="diet"
... 
... V_ID="44"
... 
... K_PASS="N/A"
... 
... TRIAL_PRODUCTION="TRIAL"'''
>>> import re
>>> re.search(r'TRIAL_PRODUCTION="(TRIAL|PROD)"', contents).group(1)
'TRIAL'

现在,在尝试使用Python之前先学习Python(至少是最基本的东西)怎么样?

您是否至少尝试过自己解决这个问题?哦,它与
lambda
无关,与http响应无关-这是简单的字符串操作。你甚至不需要正则表达式。我认为OP想知道它是两个值中的哪一个,而不仅仅是它是一个还是另一个。“我想通过检查值是试用值还是PROD值来验证这一点,然后打印整个列表”=>我将此理解为“如果值为试用或值为产品,则继续,否则失败”。但是寻找一个特定的值甚至更简单,仍然不需要正则表达式。
>>> contents = """D_REGION="east"
... 
... A_NAME="diet"
... 
... V_ID="44"
... 
... K_PASS="N/A"
... 
... TRIAL_PRODUCTION="TRIAL"
... """
>>> # couldn't be much simpler:
>>> 'TRIAL_PRODUCTION="TRIAL"' in contents or 'TRIAL_PRODUCTION="PROD"' in contents
True
>>> # a bit more elegant
>>> any(target in contents for target in ('TRIAL_PRODUCTION="TRIAL"', 'TRIAL_PRODUCTION="PROD"'))
True