【发布时间】:2011-03-20 22:18:33
【问题描述】:
我想检查一个值是否在列表中,无论字母是什么大小写,我都需要高效地完成。
这就是我所拥有的:
if val in list:
但我希望它忽略大小写
【问题讨论】:
-
请注意,列表的
in运算符无论如何都会在内部迭代所有值;如果你想要效率,frozenset会更好 -
@Cameron:取决于您是否需要 O(1) 空间和 O(n) 时间,反之亦然。
-
@delnan:你如何获得 O(1) 空间?
-
@Cameron: 只有
val和每个给定时间在内存中比较的项目。当然,可能不切实际。 -
@delnan:哦,我明白了,我以为你是指整个数据结构 ;-)
frozenset仍然是 O(1) 内存用于搜索