python - 两个列表的不区分大小写的比较

标签 python list comparison

我有 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/

相关文章:

c - 不传递参数比较函数如何工作

scheme - eq?在 Racket 中表现与 eq 不同?在 Guile 中还是在 Common Lisp 中是 eq?

python - 我无法在 Linux 中终止我的 Python 脚本

python - 在 Django 商店中本地化价格的正确方法是什么?

Python:如何从列表中检查字符串中的子字符串?

Java Lists 列表项值

python - 比较 Pandas 中的两个 DataFrame

python - Django 保存科学数字

python - Pandas groupby 年份和绘图图

python - 将大写字母移动到字符串前面并将小写字母大写的函数?