在python中可以使用in符号判断指定的元素是否存在于列表中,但我发现元组和数组存在区别,下面是详细实验结果。
>>> '75271.com' in ['haotu.net','75271.com']
True
>>> '75271.com' in ('haotu.net','75271.com')
True
>>> '75271.com' in ['75271.com/codes','haotu.net']
False
>>> '75271.com' in ('75271.com/codes','haotu.net')
False
>>> '75271.com' in ['75271.com/codes']
False
>>> '75271.com' in ('75271.com/codes')
True
>>> '75271.com' in ['75271.com/codes']
False
>>> '75271.com' in ('75271.com/codes',)
False
前面5条测试都符合我们的预期,只有最后一条,将数组换成元组后,在元组中只有一个元素的时候,python居然是把元组当成了字符串处理,不知道为什么会有这样的处理方式,但开发的时候却要注意,只用in语句判断数组中是否存在制定元素时,最好用[]的数组,而非元组
修正:经过网友指正,发现还是我自己没有搞清楚,python中当元组中只有一个元素时,也要在元素后面加上逗号,否则会把括号当成运算符处理,也就是最后看到的这种就没问题了。
开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明使用python语言中用in操作符元组和数组的区别!