zoukankan      html  css  js  c++  java
  • 07-03成员运算符

    成员运算符

    成员运算符的目的:用于判断一个元素是否在容器中
    成员运算符:返回的是bool

    • in
    • not in
    In [68]: 3 in [1, 2 ,3 ,4 ]
    Out[68]: True
    
    In [69]: 10 in [1, 2, 3, 4]
    Out[69]: False
    
    In [71]: 10 not in [1, 2, 3, 4]
    Out[71]: True
    
    In [72]: 'love' in 'i love python'
    Out[72]: True
    

    成员运算符的复杂程度

    集合的成员运算符和其他的线性结构的时间复杂度不同

    成员运算:

    • 集合O(1)
    • 列表(其他线性结构)O(n)

    总结:

    • 做成员运算的时候, 集合的效率远高于列表
    • 做成员运算时, 运算的效率和列表的规模有关
    • 做成员运算时, 集合的效率和集合的规模无关。
    In [74]: lst = list(range(10000))
    
    In [75]: s = set(range(10000))
    
    In [76]: %%timeit
        ...: -1 in lst
        ...: 
    10000 loops, best of 3: 125 µs per loop
    
    In [77]: %%timeit      # 更快
        ...: -1 in s 
        ...: 
    The slowest run took 39.70 times longer than the fastest. This could mean that an intermediate result is being cached.
    10000000 loops, best of 3: 45 ns per loop
    
    做成员运算的时候, 集合的效率远高于列表
    
    In [78]: lst2 = list(range(100))
    
    In [79]: %%timeit
        ...: -1 in lst2
        ...: 
    1000000 loops, best of 3: 1.29 µs per loop
    
    做成员运算时, 运算的效率和列表的规模有关
    
    In [80]: s2 = set(range(100))
    
    In [81]: %%timeit
        ...: -1 in s2
        ...: 
    10000000 loops, best of 3: 39.1 ns per loop
    
    做成员运算时, 集合的效率和集合的规模无关。
    
  • 相关阅读:
    iOS之在AppDelegate中push到指定页面
    iOS之iOS中的(null)、<null>、 nil 的问题
    HTML表格属性及简单实例
    iOS多语言设置
    HTML简单介绍
    iOS-WebView(WKWebView)进度条
    OC 中property的使用
    Memory map of an object array
    2018-10-15 21:07:38 c language
    2018-10-15 00:41:45 c language
  • 原文地址:https://www.cnblogs.com/cishi/p/13023174.html
Copyright © 2011-2022 走看看