第6章 元组


1、和列表、字符串的关系

        和列表的关系:元组基本上是不可改变的列表。元组几乎具有列表所有的特征,除开那些违反不变性的特征。也就是说,没有函数或方法可以改变元组。

        和字符串的关系:因为是不可改变的,元组和字符串具有一定的相似性,但元组可以包含任何类型的元素。

2、元组的表示

         元组由圆括号表示,其中的元素用逗号分割。为了生成元组,可以使用以下语法:myTuple=(1,2,3)

         也可以通过tuple函数创建,就是下文要说的和列表、字符串之间的相互转换

>>> list1=[1,2,3]  # 列表
>>> tuple(list1)
(1, 2, 3)
>>> 
>>> str1="abd ds"  # 字符串
>>> tuple(str1)
('a', 'b', 'd', ' ', 'd', 's')
>>> 
>>> tuple1=(1,2,3) # 元组
>>> tuple(tuple1)
(1, 2, 3)

         注意事项

         (1)不是圆括号而是逗号创建元组的运算符。没有圆括号的表达式1,2,3,同样产生元组(1,2,3)

>>> 1,2,3
(1, 2, 3)

         (2)要创建单元素元组,不能使用表达式(1),因为它只是在解释器中产生1。表达式(1,)生成单元素元组。

>>> a=(1)
>>> a
1
>>> a=(1,)
>>> a
(1,)

         (3)空元组

>>> a=()
>>> a
()

3、元组的操作

        其他序列(列表和字符串)的操作都可用于元组,除了那些会违反不变性的列表运算符。

        (1)“+”和“*”运算符同样适用于元组

        (2)分片操作同样适用于元组

        (3)成员操作(in)和for循环同样适用于元组

        (4)长度(len)、最大(max)和最小(min)同样适用于元组

        没有任何的操作会更改元组。

>>> myTuple=(1,2,3,4,5)
>>> myTuple+myTuple
(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
>>> myTuple*3
(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
>>> myTuple[1]
2
>>> myTuple[:3]
(1, 2, 3)
>>> 2 in myTuple
True
>>> for x in myTuple:
	print x,

	
1 2 3 4 5
>>> len(myTuple)
5
>>> min(myTuple)
1
>>> max(myTuple)
5

        元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

>>> myTuple=(1,2,3)
>>> del myTuple[1]  # 不可删除元组中的元素

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    del myTuple[1]  # 不可删除元组中的元素
TypeError: 'tuple' object doesn't support item deletion
>>> 
>>> del myTuple  # 可以删除整个元组
>>> myTuple # 元组已经不存在了

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    myTuple # 元组已经不存在了
NameError: name 'myTuple' is not defined

4、和列表、字符串之间的相互转换

>>> list1=[6,1,3,4]
>>> tuple1=tuple(list1) # 列表转为元组
>>> tuple1
(6, 1, 3, 4)
>>> tuple2=tuple("abcd") # 字符串转为元组
>>> tuple2
('a', 'b', 'c', 'd')
>>> list2=list(tuple1)  # 元组转为列表
>>> list2
[6, 1, 3, 4]
>>> list3=sorted(tuple1) # 元组转为有序的列表(使用sorted函数)
>>> list3
[1, 3, 4, 6]




参考文献

1、《Python入门经典》

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值