python - 检查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')
解决方案
您可以转换为更低并检查值
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)
推荐阅读
- spring - 为什么 Spring @ConstructorBinding 不绑定 Kotlin @ConfigurationProperties 类?
- javascript - 尝试在 discord.js 中创建货币系统(余额不是商店)
- javascript - JavaScript 似乎无法在控制台中运行
- python - Django 序列化程序错误预期数字,但得到 [28]
- android - Firebase“请求没有身份验证令牌”错误
- listview - ListView 作为 Flutter 中的 TabBar
- javascript - Vuex抽象通用继承方法(大SPA)
- sql - SELECT/HAVING 的 SQL 查询异常的执行顺序
- php - 添加一个表单域添加一个数学问题来阻止机器人?:(
- python - 在 Python 中,是否有一个内置函数来获取两个给定值之间的值(在列表中)?