Python 列表 for循环遍历 判断


#假设我有两个列表如下
a = ['1','1','1','2','2','2','3','3','3','4','4','4','5','5','5']
b = ['1','2', '3','4','5']
"""
问题
遍历a列表,b列表作为判断
for i in a:
    if i (判断) b:
        print()
每循环一次检查循环的元素,是否与b列表里的第一个元素相同,假设已经循环到 a列表元素的'2'就把之前的元素输出,并且b判断列表变成判断第二个元素'2'

理想输出效果
1,1,1
2,2,2
3,3,3
4,4,4
5,5,5
#程序结束
"""

a = ['1','1','1','2','2','2','3','3','3','4','4','4','5','5','5']
b = ['1','2', '3','4','5']
# 1
i1, i2 = 0, 0
while i1 < len(a) and i2 < len(b):
    k = i1
    while i1 < len(a) and a[i1] == b[i2]:
        i1 += 1
    if k != i1:
        print(a[k: i1])
    i2 += 1

# 2
k = 0
l = []
for i in a:
    if i != b[k]:
        k += 1
        print(l)
        l.clear()
    l.append(i)