金阊公司网站建设电话,不锈钢网片,云南网站建设优化,企业做网站的费用账务如何处理目录 元组
什么是元组#xff08;tuple#xff09;
元组练习-1
元组的基本操作
元组常用内建函数
列表和元组的区别与总结
元组练习-2
元组练习-3 元组
什么是元组#xff08;tuple#xff09;
与列表#xff08;list#xff09;一样#xff0c;元组#xff0…目录 元组
什么是元组tuple
元组练习-1
元组的基本操作
元组常用内建函数
列表和元组的区别与总结
元组练习-2
元组练习-3 元组
什么是元组tuple
与列表list一样元组tuple也是序列唯一的区别在于元组是不能修改的你可能注意到了字符串也不能修改。元组语法很简单只要将一些变量用逗号,分隔就能自动创建一个元组。 a 1,2,3
print(a)print((1,2,3))1、元组还可用圆括号()括起这也是通常采用的做法。
2、空元组用两个不包含任何内容的圆括号表示。
3、如何表示只包含一个值的元组呢这有点特殊虽然只有一个值也必须在它后面加上逗号。
print((12),type((12)))print((12,),type((12,)))输出12 class int
(12,) class tuple 由此可见加上逗号就变成了元组元组练习-1
定义一个元组描述
请从标准输入流控制台中获取一个整型数字变量 num_1一个字符串变量 num_2请你定义一个元组包含这两个变量并打印出来这个元组和它的类型。 num_1 int(input())
num_2 eval(input())tuple_1 (num_1,num_2)
print(tuple_1)
print(type(tuple_1)) 元组的基本操作
创建一个元组tuple
通过将所有项目元素放在括号内 ()以逗号,分隔来创建元组。括号是可选的但是使用括号是一个好习惯。
元组可以具有任意数量的项并且它们可以具有不同的类型整数int浮点数float列表list字符串string等。
也可以在不使用括号的情况下创建元组。这称为元组包装。
用一个元素创建一个元组有点特殊。
只有一个元素的元组括号内仅包含一个元素是不够的。我们将需要一个逗号结尾来表明它实际上是一个元组。 tuple_1 (hi)
print(type(tuple_1))tuple_2 (1)
print(type(tuple_2))tuple_3 (hi,)
print(type(tuple_3))tuple_4 (1.2)
print(type(tuple_4))输出
class str
class int
class tuple
class float 可以看到元组可以存储多种数据类型 访问元组元素
我们可以通过多种方式访问元组的元素。
1.索引
我们可以使用索引运算符 [] 访问索引从 0 开始的元组中的项目。
因此具有 6 个元素的元组将具有从 0 到 5 的索引。尝试访问元组之外的元素例如 6、7...将引发 IndexError。
索引必须是整数因此我们不能使用 float 或其他类型。如果使用会导致 TypeError。 2.负索引
Python 允许对其序列进行负索引。
索引 -1 表示最后一项-2 表示倒数第二项依此类推。
tuple_1 (h,e,l,l,o,1)print(tuple_1[-1])
print(tuple_1[-6])输出
1
h3.切片
我们可以使用切片运算符冒号 : 访问元组中的一系列项目。
tuple_1 (h,e,l,l,o,1)print(tuple_1[2:5])
print(tuple_1[0:5])输出
(l, l, o)
(h, e, l, l, o) 4、更换元组
与列表不同元组是不可变的。
这意味着一旦分配了元组的元素就无法更改。但是如果元素本身是可变的数据类型如列表则可以更改其嵌套项目。
我们还可以将元组分配给不同的值重新分配。
# 定义一个内嵌列表的元组
tuple_1 (4, 2, [3], [9])
# 对列表进行添加操作
tuple_1[2].append(5)
print(tuple_1)
my_tuple (shell,bash)
# 将元组分配给不同的值
tuple_2 my_tuple
print(tuple_2)输出
(4, 2, [3, 5], [9])
(shell, bash) 我们可以使用 运算符来合并两个元组。这也称为串联。
我们还可以使用运算符 *将元组中的元素重复给定次数。
无论 和 * 操作会导致新的记录。
tuple_1 (1, 2, 3)
tuple_2 (4, 5, 6)
# 合并两个元组并赋值给新的变量
tuple_3 tuple_1 tuple_2
print(tuple_3)
# 将元组中的元素重复 3 次
tuple_4 (shell,) * 3
print(tuple_4)输出
(1, 2, 3, 4, 5, 6)
(shell, shell, shell) 5、删除元组
我们不能更改元组中的元素。这也意味着我们无法删除或删除元组中的项目。
但是可以使用关键字 del 完全删除一个元组。
tuple_1 (s,h,e,l,l)# 不能删除条目
# TypeError: tuple_1对象不支持项目删除
# del my_tuple[3]# 可以删除整个元组
del tuple_1# NameError: 未定义名称“ tuple_1”
print(tuple_1) #如果使用del删除元组再次打印就会报错元组常用内建函数
1、元组方法
元组tuple不提供添加项目或删除项目的方法。仅以下两种方法可用。
方法描述count(x)返回元组内相同元素的数量 xindex(x)返回等于 x 的第一项的索引
my_tuple (h,e,l,l,o,)print(my_tuple.count(e))
print(my_tuple.index(l))输出
1
2 2、其他元组操作
2.1元组成员资格测试
我们可以使用关键字 in 来测试项目是否存在于元组中。
tuple_1 (h,e,l,l,o,)
print(s in tuple_1)
print(l in tuple_1)输出False
True 2.2遍历元组
使用 for 循环我们可以遍历元组中的每个元素。
for ls in (shell,bash):print(hello,ls)输出
hello shell
hello bash
元组相比于列表的优势
由于元组与列表非常相似因此它们在类似情况下也都使用。
但是在列表上实现元组具有某些优点。下面列出了一些主要优点
我们通常将元组用于异构不同数据类型将列表用于同类相似数据类型。由于元组是不可变的因此遍历元组要比使用list更快。因此性能略有提升。包含不可变元素的元组可以用作字典的键。对于列表这是不可能的。如果您拥有不变的数据则将其实现为元组可以确保其保持写保护。 列表和元组的区别与总结
列表list
列表是动态数组可变增加、修改不会使 ID 发生变化且可以重设长度包括增加、删除、修改元素列表中的元素可重复元素之间的类型可以不同元素的值可以修改使用 [] 来定义列表可以索引可以切片列表常用来保存多个独立的同质homogeneous对象例如北上广深的人口数量由于列表是动态数组支持 resize 操作因此当一个列表没有空位放新的元素的时候Python 会创建一个新的列表把老的列表里面的元素以及新添加的元素放进去同时把旧的列表销毁。当我们试图创建一个有 n 个元素的列表时Python 会创建一个可以放 nk 个元素的列表为未来添加元素预留了 k 个位置这样可以减少分配空间和内存复制的次数很耗费计算资源从而节省计算资源。所以说保存同样的元素个数的时候元组占用的空间更小。
元组tuple 元组是静态数组不可变且内部数据一旦创建便无法改变此外数字、字符串也属于不可变类型 元组里的元素、元组的大小在创建完成以后不能改变如果赋新的值则 ID 会发生变化 注意这里的不可变指的是元组中每一个元素对象的引用指针不可变但是如果某个元素对象本身是可变的对象那么你是可以对这个可变对象进行修改的。例如元祖里面有一个元素是列表这个列表里面的内容是可以修改的。 元组里元素的类型可以不同 使用 () 来定义元组 可以切片、可以索引 元组常用来描述一个不会改变的事物的多个异质heterogeneous对比上面的“同质”意思是不同位置的元素表达不同的意思属性例如一个城市的经纬度。这也是为什么元组不可变而列表可变的原因因为列表储存同质的对象例如北上广深的人口数我们可以再加上成都苏州的人口数、或者删掉深圳的人口数也没有问题但是元组里面一个城市的经纬度删掉一个或者修改一个是没有意义的。 关于可变与不可变的另一个例子你外出散步的时候可以用元组 (x,y) 描述当前的经纬度如果你想记录自己的轨迹那么可以用列表记录每一秒的 [(x,y)]。 由于字典的 key 必须是不可变类型因此列表不能作为字典的 key但是元组可以 如果实在想修改已经定义好的元组 ①可以通过切片来实现删除元素的功能 ②可以通过 运算来实现拼接的功能类似于列表的 resize 操作 创建元组的速度比创建列表的速度快 3-5 倍。一般不再用到的变量所占用的资源会被释放还给操作系统但是长度为 1-20 的元组即使不再使用了也不会把它们占用的资源立刻还给操作系统而是留作未来使用这样在以后创建同样大小的元组的时候就不用重新申请内存了。 元组练习-2
分割元组描述
输入一个长度为偶数的元组 my_tuple输出两个元组一个是元组的前一半一个是元组的后一半。my_tuple eval(input())
l int(len(my_tuple))/2
print(my_tuple[:l])
print(my_tuple[l:])输出
(1, 2)
(3, 4) 元组练习-3
元素在元组内的出现次数输入一个由整数组成的元组 my_tuple 和一个整数 x输出元组内 x 的个数。
my_tuple eval(input())
x int(input())
print(my_tuple.count(x))