Python学习(4)元组:元组的创建和删除、访问元组元素、修改元组元素、元组推导式

Python学习(4)元组:元组的创建和删除、访问元组元素、修改元组元素、元组推导式
元组可称为不可变的列表,它是不可变序列。
4.3.1.元组的创建和删除
在上一篇博文说过了列表,简单来说,元组的使用就是将列表的[]改为()即可,这里不做过多介绍,注意的是,元组的()是可以省略的。如下创建并输出一个元组:

a = "你好","世界","hello"  #创建元组
print(a)                  #输出结果为:('你好', '世界', 'hello')

创建空元组、创建数值元组和删除元组,只需将创建列表的[]改为()即可。

4.3.2.访问元组元素
元组的输出可以直接使用print()函数输出
上文输出有(),如果不想要这个()的话,可以通过索引方式输出指定元素:

a = "你好","世界","hello"  #创建元组
print(a[0])                #结果为  你好

同样和列表一样,我们可以使用切片

a = "你好","世界","hello"  #创建元组
print(a[:1])              #结果为('你好',)

4.3.3修改元组元素
元组是不可变序列,不能对单个元素修改,但可以对元组进行重新赋值,例子如下:

a = (1,2,3,4,5,6)        #定义一个元组
a = (1,5,9,6,8,7)        #重新赋值
print(a)                 #打印结果为(1, 5, 9, 6, 8, 7)

元组可以进行连接组合,但连接的内容必须都是元组,不能将元组和字符串或者列表进行连接。

4.3.4元组推导式
使用元组推导式可以快速生成一个元组,它的表现形式和列表推导式类似,只是将其中的“[]”换成了“()”.
我们来创建一个包含十个随机数的元组:

import random     #导入random标准库
randomnumber = (random.randint(10,100) for i in range(10))
print(randomnumber)

运行后,结果为<generator object at 0x0000012D145CC620>,并不是一个元组或列表,而是一个生成器对象,我们可以进行转换,转换为元组使用tuple()函数,转换为列表则用list()函数,例子如下:

import random
randomnumber = (random.randint(10,100) for i in range(10))
randomnumber = tuple(randomnumber)  #转换为元组
print(randomnumber)  #结果为(55, 56, 39, 12, 18, 86, 16, 27, 14, 21)

还可以通过for循环遍历或者直接使用_next()_方法进行遍历注意的是Python。2x中_next()_方法对应的方法是next()

number = (i for i in range(3))
print(number.__next__())      #输出第一个元素
print(number.__next__())      #输出第二个元素
print(number.__next__())      #输出第三个元素
number = tuple(number)      #转换为元组
print("转换后:",number)

结果为
0
1
2
转换后: ()
再如使用for循环遍历:

number = (i for i in range(3))
for i in number:
    print(i,end=" ")
print(tuple(number))  #结果为0 1 2 ()

从上面的两个示类可以看出,无论通过哪种方法遍历后,如果再想使用该生成器对象,都必须重新创建一个生成器对象,因为遍历后原生成器对象已经不存在。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值