首页 > 解决方案 > 检查2个列表的元素是否匹配,即使它的大写或小写

问题描述

我有 2 个列表。循环 list2 并检查 list2 中是否存在 list1 元素。但我下面的代码只检查完全匹配,而不考虑大写或小写元素,如 Date、CIRCUIT

list1 = ['circuit', 'Date', 'common', 'discover']
list2 = [('id-23', 'po'), ('id-24', 'date'),('id-25', 'CIRCUIT'), ('id-26', 'discover')]

for i, a in list2:
    if a in list1:
        kia = i,a
        print(kia)

我得到的输出是('id-26', 'discover')

预期输出应该是('id-24', 'date'), ('id-25', 'CIRCUIT'), ('id-26', 'discover')

标签: pythonpython-3.xlist

解决方案


您可以转换为更低并检查值

list1 = ['circuit', 'Date', 'common', 'discover']
list2 = [('id-23', 'po'), ('id-24', 'date'),('id-25', 'CIRCUIT'), ('id-26', 'discover')]
list1 = [i.lower() for i in list1]

for i, a in list2:
    if a.lower() in list1:
        kia = i,a
        print(kia)

推荐阅读