我正在编写一个函数,当给定一个列表时,它可以确定一个特定的第一个字符后面是一个特定的第二个字符(一次或重复),还是后面是另一个随机字符串。当存在另一个随机字符串时,函数应返回False,但当不存在随机字符串时,函数应返回True
基本上,如果除.
之外的任何其他字符位于其当前列表或任何后续列表中的B
之后,则应返回False,但如果仅存在.
,则应返回True
例如,如果第一个字符是B
,第二个字符是.
,列表列表是[['.','.','B','.'],['.','.','.','.']]
,那么它应该返回True
,但是如果列表列表是[['a','c','B','r'],['.','s','g','h']]
,那么它应该返回False
,因为一系列随机字符串跟在B
后面
任何提示或帮助都将不胜感激这是我迄今为止的代码:
def free_of_obstacles(lst):
A = 'B'
B = '.'
for i, v in enumerate(lst):
if A in v:
continue
if B in v:
continue
return True
else:
return False
您可以将每个列表中的所有字符合并,并将所有合并的字符串合并为一个字符串,然后应用正则表达式检查是否存在匹配项:
编辑1>以上解决方案作为返回True或False的函数:
不使用任何导入的模块:
样本运行1
样品运行2
编辑2>以上解决方案作为返回True或False的函数:
相关问题 更多 >
编程相关推荐