我有 2 个列表。第一个是 list_A = ['Sasi', 'Babu', 'kuttapppan', 'mathayi']
我的第二个列表是 list_B = ['Raman', 'Kesavan', 'sasi ', 'unni', 'Kuttappan']
.
我想比较这两个列表并识别在第二个列表中重复的值,无论它是以大写字母还是小写字母开头。我尝试了以下方法:
if not [name for name in list_A if name in list_B]:
print name
但它没有按预期工作。
最佳答案
实际上你可以在一个列表理解中做到这一点:
list_A = ['Sasi', 'Babu', 'kuttappan', 'mathayi']
list_B = ['Raman', 'Kesavan', 'sasi', 'unni', 'Kuttappan', 'SaSi']
duplicated = [b for b in list_B if b.lower() in (a.lower() for a in list_A)]
print(duplicated)
这样它在比较小写时返回原始值。使用集合将返回小写值并删除 list_B 中的所有重复值。
关于python - 两个列表的不区分大小写的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643757/