如何检查字符串是否以 Python 数组中的任何字符值开头?
How to check if a string starts with any char value from an array on Python?
假设您有以下字符串:
the_string = '[({})]'
并假设您有以下数组:
the_array = ['(','[','{']
如何验证 the_string
以 the_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 True
或 False
您不需要 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
假设您有以下字符串:
the_string = '[({})]'
并假设您有以下数组:
the_array = ['(','[','{']
如何验证 the_string
以 the_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 True
或 False
您不需要 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