python - python 的不区分大小写的 IN

标签 python

有没有办法在 python 中执行类似 SQL 的 IN 语句。例如:

'hello' in ['Hello', 'Goodbye'] # case insensitive
True

我在想一个列表理解来重建列表,但希望有更简单的东西。

最佳答案

您可以 map str.lower 的列表:

if 'hello' in map(str.lower, ['Hello', 'Goodbye']):

在 Python 3.x 中,这不会构建新列表,因为 map 返回一个迭代器。在 Python 2.x 中,您可以通过导入 itertools.imap 来实现相同的目的.


或者,您可以只使用 generator expression :

if 'hello' in (x.lower() for x in ['Hello', 'Goodbye']):

这也很懒惰,并且在两个版本中工作相同。

关于python - python 的不区分大小写的 IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28640677/

相关文章:

python - 无法在 Pyserial : "termios.error: (22, ' Invalid argument') "中打开串行连接

python - opencv2 python 中可用的内置函数可查找图像之间的距离

python - 如何加入字符串列表并删除重复的字母(使它们保持链接状态)

python - 箱线图按 python pandas 中的列分层

python - Cronjob - 如何输出 stdout 并忽略 stderr

python - 使用来自不同数据帧的数据规范数据帧中的数据

python - python中函数的字典输入

python - 使用样本,将函数应用于大量列子集

python - 单击输入按钮

用于计算循环执行的 Python 习惯用法