Python元组常用方法 || 元组和列表的区别
Python元组常用方法
前言
①通过()创建元组。小括号可以省略。
a = (10,20,30) 或者 a = 10,20,30
【注意】:如果元组只有一个元素,则必须后面加逗号。这是因为python解释器会把 (1) 解释为整数 1; (1,) 解释为元组。
②通过 tuple()创建元组: tuple(可迭代的对象)
a = tuple() # 创建一个空元组对象 b = tuple("abc") c = tuple(range(3)) d = tuple([2, 3, 4]) print(a, b, c, d, sep='\n') 运行结果: () ('a', 'b', 'c') (0, 1, 2) (2, 3, 4)
一、元组的创建
1.元组(tuple):元组本身是不可变数据类型,没有增删改查
2.元组内可以存储任意数据类型
3.元组里面包含可变数据类型,可以间接修改元组的内容
4.元组如果只有一个元素的时候,后面一定要加逗号,否则数据类型不确定
二、元组的特性
1.索引(元组是有序的)
2. 切片
3. 重复(元组中的元素可重复)
4.连接(同字符串,元组中的元素发生改变后,变成了一个新的对象,可以用id()来验证):这一点与字符串的特性相同
5. 成员操作符
6. for循环&获取元素以及对应下标
7. zip 函数:两个元组的元素之间一一对应
zip(列表 1,列表 2,…) :将多个列表对应位置的元素组合成为元组,并返回这个 zip 对象。
8.列表关于排序的方法 list.sorted() 是修改原列表对象
元组没有该方法【因为元组无法修改原元组对象】。如果要对元组排序,只能使用元组的内置函数 sorted(tupleObj) ,并生成新的列表对象。【元组经过重新排序之后数据类型变为列表】
a = (20, 10, 30, 9, 8) print(a, type(a)) # (20, 10, 30, 9, 8) <class 'tuple'> b = sorted(a) print(b, type(b)) # [8, 9, 10, 20, 30] <class 'list'>
三、元组的常用方法
四、元组的应用场景
1.变量交换数值
2.打印变量的值
3. 元组的赋值
元组和列表的区别
①Python的函数返回多个值时,其实就是返回一个tuple(return后面的多个值可以加括号,也可以不加括号;但是一定要用逗号间隔)
②元组放弃了对元素的增删改(内存结构设计上变的更精简,元组长度不可变!!!),换取的是性能上的提升:创建元组比创建列表的速度要更快,而且元组的存储空间比列表占用更小。【总结:元组的访问和处理速度比列表快】
③元组是固定且不可改变的。这意味着一旦元组被创建,和列表不同,它的内容无法被修改或它的大小也无法被改变。【如果强制改变元组中的元素内容则一定是产生了一个新的元组对象】
④列表是动态数组,可变且可以重设长度(改变其内部元素的个数)。元组是静态数组,不可变,且其内部数据一旦创建便无法改变。
⑤元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。
⑥列表可被用于保存多个互相独立对象的数据集合,元组用于描述一个不会改变的事务的多个属性。
⑦元组同整数和字符串一样,可以作为字典的键;而列表则永远不能作为字典的键使用。【因为字典的键是不可更改的,而列表却可以进行增删改(不会产生新的列表对象)】