1、创建元组
方式一:tu=(元素1,元素2.....)
方式二:tu=tuple(传入可迭代的元素) 也是元组的转换
2、元组的转换
dic1={"k1":123,"k2":"abc","k3":[123,456]} #字符串转换成元组 t=tuple("abcdef") # 列表转换成元组 tu=tuple(["123",345,"abc"]) # 字典转换成元组 # 默认转换 keys tu0=tuple(dic1) # values 转换成元组元素 tu1=tuple(dic1.values()) #items 转换成元组元素 没对键值对作为一个元组成为一个元组元素 tu2=tuple(dic1.items()) print(t) print(tu0) print(tu) print(tu1) print(tu2)
结果:
('a', 'b', 'c', 'd', 'e', 'f') ('k2', 'k3', 'k1') ('123', 345, 'abc') ('abc', [123, 456], 123) (('k2', 'abc'), ('k3', [123, 456]), ('k1', 123))
3、元组的特有方法
a、count(self,value) count方法只统计指定value本身作为元组元素出现的次数
tu=(22,"aa",["aa",{"k1":"aa"}],"bb") i=tu.count("aa") print(i)
结果:
1
b、index(self,value,start,stop) value 指定的值,start开始查找的位置 ,stop结束查找的位置 start和stop非必须 ,不传默认从零开始查找,反之从指定的开始位置开始查找。index特点查到指定元素的位置返回坐标值,反之报错:提示指定的元素不存在该元组中
tu=(22,"aa","nn","aa",["aa",{"k1":"aa"}],"aa") i=tu.index("aa",2,len(tu)) print(i) i1=tu.index("bb") print(i1)
结果:
3 File "E:/PythonProject/day01/pydatatype.py", line 161, in <module> i1=tu.index("bb") ValueError: tuple.index(x): x not in tuple
4、元组的特点是不可修改,是元组的元素元素不能修改,如果内部有嵌套的其他可迭代的元素这些元素是可修改的,但是字符串除外
tu=(22,"aa",["bb",{"k1":"yang"}]) tu[2].append("cc") tu[2][1]["k1"]="样" print(tu) tu[1]="abc"
结果:
(22, 'aa', ['bb', {'k1': '样'}, 'cc']) File "E:/PythonProject/day01/pydatatype.py", line 169, in <module> tu[1]="abc" TypeError: 'tuple' object does not support item assignment