元组

2020/5/8
元组:最重要就是不可以改变值
1,定义元组,输出元组类型

a=()
print(type(a))
a=(1,2,3,4,5,"auogfu",2.333)
print(a)
a=tuple((1, 2, 3, 4, 5, 'auogfu', 2.333))
print(a)
a=1, 2, 3, 4, 5, 'auogfu', 2.333
print(a)

       输出:
   <class ‘tuple’> 
   (1,2,3,4,5,‘auogfu’,2.333)
   (1,2,3,4,5,‘auogfu’,2.333)
   (1,2,3,4,5,‘auogfu’,2.333)
  解释:
   (1)元组类型就是tuple
   (2)元组是可以省略()直接输入内部的代码的

2,定义单个数字时的情况

a=(2)
print(a)
print(type(a))
a=(2,)
print(a)
print(type(a))
a=2,
print(a)
print(type(a))
[/code]

       输出:
   2
   <class ‘int’>
   (2,)
   <class ‘tuple’>
   (2,)
   <class ‘tuple’>
  解释:
   (1)单个数字存入时,是字符串类型
   (2)可以通过在数字尾部加上,来将其类型转换为元组
   (3)上述两条有没有括号通用
3,对于单个数据的类型辨析

d1=(2)
d2=(2,)
d3=2,
d4=tuple((2,))
print(type(d1),type(d2),type(d3),type(d4))

       输出:
   <class ‘int’> <class ‘tuple’> <class ‘tuple’> <class ‘tuple’>

4,不同输入方式在python内部的状态

b=(2,3,4,5,)
print(b)
c=2,3,4,5
print(c)
print(b is c)
print(b==c)

       输出:
   (2,3,4,5)
   (2,3,4,5)
   True
   True
  解释:
   (1)虽然表示方式不同但是在python内部存储的时候还是相同的
   (2)python内部的存储规律变幻莫测,初学者不要凭感觉确定
5,函数返回值与元组的的关系

def fun(n):
    a=n+1
    b=n+2
    return a,b
a1,a2=fun(3)
print(a1,a2)

       输出:
   4 5
  解释:
   (1)返回值的本质就是元组
   (2)在这个例子中返回值相当于是一个含有两个元素的元组
6,对于元组相关的运算符

a=(2,)
print(a*4)
b=(1,2,3)
print(b*2)
print(a+b)
b=(1,2,3)
b=b[0]+4,+b[2]
print(b)

       输出:
   (2,2,2,2)
   (1,2,3,1,2,3)
   (2,1,2,3)
   (5,3)
  解释:
   (1)乘相当于接上相同的元组多个
   (2)加起到的是连接的作用
   (3)通过加可以实现对元组的“修改”,本质上没有改变。

7,元组的切片

a=(2,14,12,12,"fadjh")
print(a[::-1],a[-1],a[:3],sep="\n")
b=a,+2
print(b)
c=a*4
print(c)

       输出:
   (‘fadjh’,12,12,14,2)
   fadjh
   (2,14,12)
   ((2,14,12,12,‘fadjh’),2)
   (2,14,12,12,‘fadjh’,2,14,12,12,‘fadjh’,2,14,12,12,‘fadjh’,2,14,12,12,‘fadjh’)
  解释:
   (1)a[x1,x2,x3]
     x1:对应起始位置
     x2:对应终止位置(需要减1)
     x3:相当于步进
   (2)在加时需要根据需求增加逗号
8,列表嵌套在元组中

c=2,3,4,[5,6]
print(c)
print(len(c))
print(len(c[3]))

       输出: 
   (2,3,4,[5,6])
   4
   2
  解释:
   (1)元组是不可以改变的,但是元组内的列表元素是可以改变的
   (2)元组内的列表是可以进行正常列表的操作的
9,元组嵌套在列表中

d=[2,3,4,(5,6,7)]
print(d)
print(type(d[3]))
print(c)
c[3].append(7)
print(c)

       输出:
   [2,3,4,(5,6,7)]
   <class ‘tuple’>
  解释:
   (1)对于嵌套形成的c来说,是不可以改的,但是其中的列表内容是可以改的
   (2)列表中元素是可以改变的,但是涉及到元组的就不可以改变了
10,对元组进行排序的方法(借助于列表)

a=3,2,4,23,43,23,32,432,342,324,432,32,4,2,2,2,
c=list(a)
c.sort()
print(c)
sorted(c)
print(c)
d=set(c)
print(d)
c.reverse()
print(c)

       输出:
   [2, 2, 2, 2, 3, 4, 4, 23, 23, 32, 32, 43, 324, 342, 432, 432]
   [2, 2, 2, 2, 3, 4, 4, 23, 23, 32, 32, 43, 324, 342, 432, 432]
   {32, 2, 3, 4, 324, 43, 432, 342, 23}
   [432, 432, 342, 324, 43, 32, 32, 23, 23, 4, 4, 3, 2, 2, 2, 2]
  解释:
   (1).sort()和sorted()都可以起到排序的作用
   (2)set()起到除去重复项的作用
   (3).reserve()是倒叙

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值