📌  相关文章
📜  Python|检查两个列表是否遵循相同的模式

📅  最后修改于: 2022-05-13 01:54:26.242000             🧑  作者: Mango

Python|检查两个列表是否遵循相同的模式

给定两个列表AB ,检查它们是否遵循相同的模式。
模式匹配的条件:

  1. Ai > Aj , 然后Bi > Bj
  2. Ai = Aj , 然后Bi = Bj
  3. Ai < Aj , 然后Bi < Bj ,
    对于所有 i,j。

例子:

方法:
检查两个列表是否遵循上述模式。对两个列表进行排序并在排序列表中查找前一个列表元素的索引。如果索引匹配,则模式匹配,否则没有模式匹配。

代码:用于检查模式的Python程序。

# python program for above approach
a = [5, 7, 10, 33]
b = [10, 50, 10, 45]
aa = a.copy()
bb = b.copy()
  
# sorting the list
aa.sort()
bb.sort()
  
for i in range(len(a)-1):
      
    # checking the index are same or not
    if aa[i] < aa[i + 1] and bb[i] < bb[i + 1]:
        if a.index(aa[i])== b.index(bb[i]) and a.index(aa[i + 1]) == b.index(bb[i + 1]):
            flag ="YES"
        else:
            flag ="NO"
            break
      
    elif aa[i] == aa[i + 1] and bb[i] == bb[i + 1]:
        if a.index(aa[i]) == b.index(bb[i]) and a.index(aa[i + 1]) == b.index(bb[i + 1]):
            flag = "YES"
        else:
            flag = "NO"    
            break
      
    else:
        flag = "NO"
        break
      
print(flag)

输出 :

NO