Python学习之Part06.元组

元组:元组也是一种数据类型,其中可以存储任意数据类型,但是元组不能修改

1.元组的创建:

创建一个空元组

>>> t = ()
>>> print(type(t))
<class 'tuple'>

>>> t = tuple()
>>> type(t)
<class 'tuple'>

创建并初始化一个元组

>>> t1 = ([1, 2, 3], 'hello', '1.34')
>>> print(t1, type(t1))
([1, 2, 3], 'hello', '1.34') <class 'tuple'>

如果元组中只有一个元素,则创建时必须加逗号,否则数据类型不确定

>>> t2 = (1)
>>> t3 = (1,)
>>> t4 = ('s')
>>> print(type(t2), type(t3), type(t4))
<class 'int'> <class 'tuple'> <class 'str'>

如果元组里面包含可变的数据类型 可以间接的去修改元组的内容

>>> t1 = ([1, 2, 3], 4, 5, 6)
>>> t1
([1, 2, 3], 4, 5, 6)
>>> t1[0].append(7)
>>> t1
([1, 2, 3, 7], 4, 5, 6)
>>> type(t1)
<class 'tuple'>

强制类型转换

>>> li = [] 
>>> t = tuple(li)
>>> print(type(li), type(t))
<class 'list'> <class 'tuple'>
>>> li_1 = list(t)
>>> type(li_1)
<class 'list'>

2.元组的特性

>>> t = (1, 2, 'hello', 2, 3)

索引:

>>> print(t[0])  
1
>>> print(t[-1])
3

切片:注意所选择的区间为左闭右开区间

>>> print(t[1:])
(2, 'hello', 2, 3)
>>> print(t[:-1])
(1, 2, 'hello', 2)
>>> print(t[::-1])
(3, 2, 'hello', 2, 1)
>>> print(t[1:3])
(2, 'hello')

连接:注意不同类型的不能连接

>>> t1 = ('hello',)
>>> print(t + t1)
(1, 2, 'hello', 2, 3, 'hello')

>>> print(t + 'hello')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "str") to tuple
>>> print(t + [1, 2, 3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "list") to tuple

重复:

>>> print(t * 2)
(1, 2, 'hello', 2, 3, 1, 2, 'hello', 2, 3)

成员操作符:

>>> print('hello' in t)
True
>>> print('python' in t)
False

for 循环:

>>> for i in t:
... 	print(i)
... 
1
2
hello
2
3

3.元组的常用方法

index()返回元组中元素的索引,若元素存在,则返回索引,若不存在,则报错

>>> t = (1, 2, 'hello', 2, 3)
>>> t.index('hello')
2

count()查找所传递参数在元组中的数目,若存在,则返回数目,若不存在,则返回0

>>> t.count(2)
2
>>> t.count('hello')
1

4.元组的应用场景

交替赋值

>>> a = 1
>>> b = 2
>>> a,b = b,a   # 实现:a,b=(1,2) b=(1,2)[0] a =(1,2)[1]
>>> print(a, b)
2 1

打印变量

>>> name = 'test'
>>> age = 18
>>> t = (name, age)
>>> print('name=%s, age=%d' %(name, age))
name=test, age=18
>>> print('name=%s, age=%d' %t)
name=test, age=18

>>> print('name=%s' %name)
name=test
>>> print('age=%d' %age)  
age=18
>>> print('part=%s' %part)
part=linux
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值