元组tuple,我们可以把它看做是 只读列表
-
列表转换为元组: tuple=tuple(list) 例如: list=['Wjz','wjk','wz','hacker','beijing'] tuple=tuple(list) print(tuple) # 输出 ('Wjz','wjk','wz','hacker','beijing')
-
字典转换为元组,元组中元素为字典的key: tuple=tuple(dict) 例如: dic={'wjz':1,'wjk':2} tuple=tuple(dic) print(tuple) # 输出 ('wjz', 'wjk')
-
字符串转换为元组,字符串的每一个字符都为元组的元素: tuple=tuple(str) 例如: str='wjz wjk' tuple=tuple(str) print(tuple) # 输出 ('w', 'j', 'z', ' ', 'w', 'j', 'k')
1.在()内可以有多个任意类型的值,用逗号分隔元素,用于表示 多个东西
name_list = ['qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf']
my_friend=tuple(name_list) #把列表转化为元组
print(f'my_friend:{my_friend}')
my_best_friend = ('kang yuan') #默认定义元素为字符串型
my_best_friend_tuple = ('jia','kang','yuan') #定义元素类型为元组
print(f'type(my_best_friend):{type(my_best_friend)}')
print(f'type(my_best_feiend_tuple):{type(my_best_friend_tuple)}')
my_friend:('qwesc', 'zxcsd', 'mkou', 'mkou', 'bdgyh', 'mkihgg', 'mkdfia', 'nmjigf')
type(my_best_friend):<class 'str'>
type(my_best_feiend_tuple):<class 'tuple'>
2.常用操作+内置方法:常用操作和内置方法:
-
索引取值
-
切片(顾头不顾尾,步长)
-
长度len
-
成员运算in和not in
-
循环
-
count
-
index
1.索引取值
name_tuple = ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf')
name_tuple[3]
print(f"name_tuple[3]:{name_tuple[3]}")
name_tuple[3]:mkou
2.切片 (顾头不顾尾,步长)
name_tuple = ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf')
print(f"name_tuple[2:8:2]:{name_tuple[2:8:2]}") #取出索引值2-7,步长为2的元素
print(f'name_tuple[0:5]:{name_tuple[0:5]}') #取出索引值0-4,步长为1的元素
print(f'name_tuple[0:]:{name_tuple[0:]}') #取出索引值0及之后,步长为1的元素
print(f"name_tuple[:8]:{name_tuple[:8]}") #取出索引值0-7,步长为1的元素
print(f"name_tuple[:]:{name_tuple[:]}") #取出所有的步长为1的元素
print(f"name_tuple[::2]:{name_tuple[::2]}") #取出所有步长为2的元素
print(f"name_tuple[::-1]:{name_tuple[::-1]}") #取出所有步长为 -1的元素
name_tuple[2:8:2]:('mkou', 'bdgyh', 'mkdfia')
name_tuple[0:5]:('qwesc', 'zxcsd', 'mkou', 'mkou', 'bdgyh')
name_tuple[0:]:('qwesc', 'zxcsd', 'mkou', 'mkou', 'bdgyh', 'mkihgg', 'mkdfia', 'nmjigf')
name_tuple[:8]:('qwesc', 'zxcsd', 'mkou', 'mkou', 'bdgyh', 'mkihgg', 'mkdfia', 'nmjigf')
name_tuple[:]:('qwesc', 'zxcsd', 'mkou', 'mkou', 'bdgyh', 'mkihgg', 'mkdfia', 'nmjigf')
name_tuple[::2]:('qwesc', 'mkou', 'bdgyh', 'mkdfia')
name_tuple[::-1]:('nmjigf', 'mkdfia', 'mkihgg', 'bdgyh', 'mkou', 'mkou', 'zxcsd', 'qwesc')
3.长度len(计算元组中元素总的个数)
name_tuple ,name_tuple2 = ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf') ,('mhdsjh','jhhbxnhd')
print(f'first_length:{len(name_tuple)}')
print(f"second_lenght:{len(name_tuple2)}")
first_length:8
second_lenght:2
4.成员计算in 和not in
name_tuple= ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf')
print(f"'band' not in name_tuple:{'band' not in name_tuple}")
print(f"'band' in name_tuple:{'band' in name_tuple}")
'band' not in name_tuple:True
'band' in name_tuple:False
5.循环(for循环)
name_tuple= ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf')
for mottery in name_tuple:
print(mottery)
qwesc
zxcsd
mkou
mkou
bdgyh
mkihgg
mkdfia
nmjigf
6.count(计算元组中相同元素的个数)
name_tuple= ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf')
print(f"name_tuple.count('mkou'):{name_tuple.count('mkou')}")
name_tuple.count('mkou'):2
7.index(索引,用于指出元组中某一元素的索引)
name_tuple= ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf')
print(f"first:{name_tuple.index('mkou')}")
print(f"second:{name_tuple.index('bdgyh')}")
print(f"threid:{name_tuple.index('mkdfia')}")
first:2
second:4
threid:6
4.存一个值or多个值:一个值
5.有序or无序:有序
name_tuple= ('qwesc','zxcsd','mkou','mkou','bdgyh','mkihgg','mkdfia','nmjigf')
print(f"id:{id(name_tuple)}")
id:6439920
6.可变or不可变:不可变数据类型
l = ['a', 'b', 'c']
print(f"id(l[0]): {id(l[0])}")
l[0] = 'A'
print(f"id(l[0]): {id(l[0])}")
id(l[0]): 6500288
id(l[0]): 6614944
列表可变的原因是:索引所对应的值的内存地址是可以改变的
元组不可变得原因是:索引所对应的值的内存地址是不可以改变的,或者反过来说,只要索引对应值的内存地址没有改变,那么元组是始终没有改变的。
t1 = (['a', 'b', 'c'], 'wc', 'office')
print(f"id(t1[0]): {id(t1[0])}")
print(f"id(t1[1]): {id(t1[1])}")
print(f"id(t1[2]): {id(t1[2])}")
t1[0][0] = 'A'
print(f"t1[0][0]: {t1[0][0]}")
print(f"id(t1[0]): {id(t1[0])}")
print(f"t1: {t1}")
id(t1[0]): 2704848
id(t1[1]): 3072416
id(t1[2]): 3074688
t1[0][0]: A
id(t1[0]): 2704848
t1: (['A', 'b', 'c'], 'wc', 'office')