python使用in操作符时元组和数组的区别分析

yipeiwu_com7年前Python基础

在python中可以使用in符号判断指定的元素是否存在于列表中,但我发现元组和数组存在区别,下面是详细实验结果。

>>> 'jb51.net' in ['haotu.net','jb51.net']
True
>>> 'jb51.net' in ('haotu.net','jb51.net')
True
 
>>> 'jb51.net' in ['jb51.net/codes','haotu.net']
False
>>> 'jb51.net' in ('jb51.net/codes','haotu.net')
False
 
>>> 'jb51.net' in ['jb51.net/codes']
False
>>> 'jb51.net' in ('jb51.net/codes')
True

前面5条测试都符合我们的预期,只有最后一条,将数组换成元组后,在元组中只有一个元素的时候,python居然是把元组当成了字符串处理,不知道为什么会有这样的处理方式,但开发的时候却要注意,只用in语句判断数组中是否存在制定元素时,最好用[]的数组,而非元组

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

python文件和目录操作函数小结

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录...

python进行两个表格对比的方法

如下所示: # -*- coding:utf-8 -*- import xlrd import sys import re import json dict1={} dict2={...

numpy中索引和切片详解

numpy中索引和切片详解

索引和切片 一维数组 一维数组很简单,基本和列表一致。 它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改)。 这也意味着,如果不想更改原始数组,我们需要...

解决Pytorch 训练与测试时爆显存(out of memory)的问题

Pytorch 训练时有时候会因为加载的东西过多而爆显存,有些时候这种情况还可以使用cuda的清理技术进行修整,当然如果模型实在太大,那也没办法。 使用torch.cuda.empty_...

Python企业编码生成系统之系统主要函数设计详解

本文实例讲述了Python企业编码生成系统之系统主要函数设计。分享给大家供大家参考,具体如下: 一 主要函数功能描述 函数 功能...