3. 成员运算符in 误区

独自空忆成欢 提交于 2020-02-03 17:47:22

<!DOCTYPE html>

Untitled1

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS_HTML"></script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
    tex2jax: {
        inlineMath: [ ['$','$'], ["\\(","\\)"] ],
        displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
        processEscapes: true,
        processEnvironments: true
    },
    // Center justify equations in code and markdown cells. Elsewhere
    // we use CSS to left justify single line equations in code cells.
    displayAlign: 'center',
    "HTML-CSS": {
        styles: {'.MathJax_Display': {"margin": 0}},
        linebreaks: { automatic: true }
    }
});
</script>
<!-- End of mathjax configuration --></head>

要检查特定的值是否包含在序列中,可以使用in关键字进行判断,下面针对字符串,列表,字典常用序列进行操作

In [7]:
'a' in 'abc'
Out[7]:
True

针对列表进行判断时的误区

In [8]:
'a' in ['a','b','c']
Out[8]:
True
In [9]:
'a' in ['ab','b','c']
Out[9]:
False

可以看到,列表中虽然有a,但ab才是列表中的元素,所以给出false

针对于字典的误区

In [10]:
'a' in {'a':'name'}
Out[10]:
True
In [11]:
'a' in {'name':'a'}
Out[11]:
False

由此可以知道,在对字典进行判断是,只会判断字典中的key值,不会判断字典中的value值

要解决特定值 非列表,字典成员,但存在于序列中是,可以先将序列转换成str

In [ ]:
 
In [13]:
'a' in str(['ab','b','c'])
Out[13]:
True
In [14]:
'a' in str({'name':'a'})
Out[14]:
True

新颖用法

In [15]:
input('please  input :') in 'abc'
please  input :a
Out[15]:
True
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!