如何检查字符串是否以 Python 数组中的任何字符值开头?

How to check if a string starts with any char value from an array on Python?

假设您有以下字符串:

the_string = '[({})]'

并假设您有以下数组:

the_array = ['(','[','{']

如何验证 the_stringthe_array 中的任何值开头?

我尝试创建这样的东西:

if the_string.startswith(any x in the_array):
   print(True)
else:
   print(False)

但是,它就是行不通,所以我想知道如何获得更好的解决方案(在本例中应该是 True

any是一个函数,所以

if any(the_string.startswith(ch) for ch in the_array):

如果您只打算打印或 return TrueFalse 您不需要 if 并且可以使用 [=12= 的输出]直接:

print(any(the_string.startswith(ch) for ch in the_array))

一种方法是将 the_string 转换为数组,然后对数组中的每个项目执行 for ... in 循环。

list = the_string.split(separator)

for item in list:
    if item in the_array:
        return True