叁岁系列,白话开启,系列文章,你细细品
特殊元组,在线求饶
中文名:元组
英文名: tuple
作用:包含0个或多个数据项的不可变数列类型
特点:不可变
不良反应或后遗症:修改删除其中的元素
适用范围:
表达固定数据项,函数多返回值,多变量同步赋值,遍历循环等情况下特别适用
缺点(个人认为)
不能够删除,修改,替换,不然会报错崩溃。
当然这个缺点就是他的个性,特征
样貌:
( )#空元组 (元素1, )#一个元素的元组(逗号不可少) (元素1, 元素2, 元素3, ……)(基本面貌)
元组生产流程(创建方式)
>>> a = 1, 'ha', 4, (1, 2, 3) #定义(创建)一个元组 >>> a (1, 'ha', 4, (1, 2, 3)) >>> b = 3, 0x1389, a >>> b (3, 5001, (1, 'ha', 4, (1, 2, 3)))
其他类型转换 tuple()
可以用tuple()函数进行转换
以数组举例:
>>> list = ['三', '岁', '学', '编', '程'] >>> tup = tuple(list) >>> tup ('三', '岁', '学', '编', '程')
元组元素读取
读取元素还是采用切片的形式,嵌套的元组采用嵌套读取
读取顺序和序列类型用于
废话不,元组就是序列类型,我怀疑小编在凑字数!!!
我我我没有!!!不说了上图;
emmm举例子吧,接上面的栗子:
#元组元素读取 >>>a = (1, 'ha', 4, (1, 2, 3)) >>>b = (3, 5001, (1, 'ha', 4, (1, 2, 3))) >>> a[2]#读取a的第2号元素 4 >>> b[2][2] 4 >>> b[2][3] (1, 2, 3) >>> b[2][3][0] 1 >>> tup = ('三', '岁', '学', '编', '程') >>> tup[:2] ('三', '岁') >>> tup[:-2] ('三', '岁', '学') >>> tup[-2] '编' >>> tup[::-1] ('程', '编', '学', '岁', '三')
遍历元组
元组的遍历可以采用while,for进行遍历
#while循环 >>> j = 0 >>> while j < len(tup): print(tup[j]) j += 1 三 岁 学 编 程 #for循环(循环元组) >>> for i in tup: print(i) 三 岁 学 编 程 #for循环(循环索引) for i in range(len(tup)): print(tup[i]) 三 岁 学 编 程
三种遍历方式:看似差不多,其实真的差不多,但是又不一样,看具体情况具体使用
注意:
len() 查看元组长度(后面会介绍,提前使用)
range() 生成一个字串,具体使用见<点击查看>
内建函数
元组是序列类型的所以所有的序列类型内建函数均可使用
in and not in
in 属于 not in 不属于
返回的值为布尔型
>>> '叁' in tup False >>> '三' in tup True >>> '叁' not in tup True >>> '三' not in tup False
+ and *
加号为拼接把两个或多个(或部分内容)拼接
* 把元组输出若干次
>>> tup + a ('三', '岁', '学', '编', '程', 1, 'ha', 4, (1, 2, 3)) >>> tup += a >>> tup ('三', '岁', '学', '编', '程', 1, 'ha', 4, (1, 2, 3)) >>> 3 * a (1, 'ha', 4, (1, 2, 3), 1, 'ha', 4, (1, 2, 3), 1, 'ha', 4, (1, 2, 3)) >>> a * 3 (1, 'ha', 4, (1, 2, 3), 1, 'ha', 4, (1, 2, 3), 1, 'ha', 4, (1, 2, 3))
len()
读取元组长度,在之前测试过
直接看例子
>>> len(tup) 9 >>> len(a) 4 >>> len(b) 3
细心的小朋友发现了tup有很多问号
tup不应该是 tup = (‘三’, ‘岁’, ‘学’, ‘编’, ‘程’)
5个长度
为什么是9????
因为加号计算时把 tup += a 这时tup被赋值了
所以tup = (‘三’, ‘岁’, ‘学’, ‘编’, ‘程’, 1, ‘ha’, 4, (1, 2, 3))
长度是9
max() and min()
max()和min() 函数在各个地方都极为常见,什么office,C语言,java,c++,c# ……都有
那不多说最大值和最小值
看例子
>>> d = 1,5,9,18,6, >>> max(d) 18 >>> min(d) 1 >>> c = 'a', 'v', 'x' >>> max(c) 'x' >>> min(c) 'a'
s.index(x[,y[,z]])
序列s中从 i 开始到 j 位置中第一次出现元素 x 的位置
其中 i 和 j 的值可以省略
>>> s = '三', '岁', '学', '编', '程','我', '爱', '编', '程' >>> s.index('编') 3 >>> s.index('编',4) 7 >>> s.index('编', 4, 6) Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> s.index('编', 4, 6) ValueError: tuple.index(x): x not in tuple
存在就会返回位数,不存在会报错!!!
s.count(x)
序列 s 中出现 x 的总次数
>>> s.count('编') 2 >>> s.count('我') 1 >>> s.count('叁') 0
好用!!!三星好评!!!
元组问题就到这里啦,有疑惑问题记得留言,多多支持支持!!!谢谢大家!!!