python中判断给出的列表元素是否为正确的

假设给出了一个列表x = ['13915553636','13085559999','15396969696']
检查列表中的元素是否正确,正确规则是:元素共有是11位数字;以13开头,后面可以跟4,5,6,7,8,9中的某一个;如果以15开头,后面可以跟0,1,2,8,9中的某一个
我的想法首先吧列表中的字符串提出来,使元素变成单独的列表,然后再用if判断,但还是出bug了
求解

后来自己也搞出来了

img

用正则应该是比较简单的
这里还可以考虑用字典的形式:
先搞个字典:

a = {"13":[4,5,6,7,8,9],
"15":[0,1,2,8,9]}

然后对列表里面的每一个元素,以前两位为键key,取字典中的值value,与第三位做判断,如何第三位在这个value(是一个列表)中,就返回True,否则返回False

for each in x:
  if x[2] in a.get(x[:2]):                     # 比较简单这里就没有对a.get()返回0 做专门的判断了,实际应该加上
    return True
  else:
    return False

如果不以13和15开头呢?