選擇 in 列表(list),還是 in 集合(set)
使用 Python,想要知道一個(gè)元素是否在一個(gè) Container 中,可以用 in 操作符,非常方便。
基本用法:
- 判斷 x 是否在列表 L 中: 使用 x in L
- 判斷 x 是否在列表 L 中: 使用 x in S
x in S 返回結(jié)果遠(yuǎn)遠(yuǎn)快于 x in L??紤] 1000 萬個(gè)字符串, 每個(gè)字符串有 32 個(gè)字符, x in L 需要 0.325 秒,所花時(shí)間是 x in S 的 17 萬倍,相當(dāng)驚人。
['IHMZGTHMIJMGQDICOANOSHXPPVKFLROO', 'VSIRJELNHPEQGYXHFLKPCRWOTQRXLCZV', ...]
所以毫無疑問,應(yīng)該用集合(Set)中的 in。
但是,如果這 1000 萬個(gè)字符串原先以列表的形式存儲(chǔ),將其轉(zhuǎn)化為集合是需要花時(shí)間的,需要 0.673 秒。所以,在這種情況下,如果 in 只做一次,那么就不值得先將列表轉(zhuǎn)化為集合。

標(biāo)簽: