Python 当字符串位于列表的任意位置时返回布尔值

Python 当字符串位于列表的任意位置时返回布尔值,python,Python,我试图在字符串列表中出现部分字符串时返回布尔值,例如,这里有一个数据集: "issues": [ { "id": "1", "fields": { "labels": [ "customer:asdf", "hello" ] } }, { "id": "2", "fields": { "labels": [

我试图在字符串列表中出现部分字符串时返回布尔值,例如,这里有一个数据集:

"issues": [
    {
      "id": "1",
      "fields": {
        "labels": [
          "customer:asdf",
          "hello"
        ]
      }
    },
    {
      "id": "2",
      "fields": {
        "labels": [
         "icanthearyou",
         "hellotoyou"
        ]
      }
    },
     "id": "3",
     "fields": {
       "labels": [
         "customer:num2",
         "hellotoyou"
        ]
      }
    }
]
我目前正在从这个集合中获取数据,如下所示:

def grab_data(self, data):
    created_values = list((item['id'],
                           # key
                           True if "customer:" is in item['fields']['labels'] else false 
                           #fromcustomer boolean
                          ) for item in data['issues'])
但是很明显,如果“customer:”在item['fields']['labels']中,则上述行
为True,否则为false
仅当其中一个标签仅为“customer:”

因此,为了弄清楚我将如何获取这种格式的数据我在上面的
列表((项['labels'))中为数据['issues']
中的项添加了
标签,以查看其中一个
标签在任何条目中是否包含此字符串“customer:”,并返回true

id 1和3应返回True,id 2应返回False


所以期望值应该是[True,False,True]

我稍微更改了原始列表,使其成为有效的Python列表变量,但解决此问题的一种方法是
将所有标签合并到一个字符串中,然后在该字符串中搜索“customer:”


我在连接中使用空格而不是空字符串的原因是,否则像
[“abccust”,“omer:foo”]
这样的东西会通过。

显示期望值注意,如果b中的a为False,则形式为
True的代码实际上要在b中写入
a
,这已经是真还是假了。
def filter_issues(issues):
    return [ "customer:" in ' '.join(d["fields"]["labels"]) for d in issues]


issues = [{"id": "1", "fields": {"labels": ["customer:asdf", "hello"]}},
          {"id": "2", "fields": {"labels": ["icanthearyou", "hellotoyou"]}},
          {"id": "3", "fields": {"labels": ["customer:num2","hellotoyou"]}} ]

print(filter_issues(issues))
# Prints: [True, False, True]