Python基础教程:元组详细使用

r囧r小猫 2022-10-11 12:22 297阅读 0赞

元组

元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可修改其元素。

元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。

1.元组创建

使用”=”将一个元组赋值给变量

  1. >>> a_tuple=('a','b','mpilgrim','z','example')
  2. >>> a_tuple
  3. ('a', 'b', 'mpilgrim', 'z', 'example')
  4. >>> a = (3)    # 这里的括号代表数学里面的小括号
  5. >>> a
  6. 3
  7. >>> a = (3,)      # 包含一个元素的元组,最后必须写多个逗号
  8. >>> a
  9. (3,)
  10. >>> a = 3,      # 也可以这样去创建元组
  11. >>> a
  12. (3,)
  13. >>> x = ()      # 创建空元组
  14. >>> x
  15. ()

使用tuple函数将其他序列转换为元组

  1. >>> tuple('abcdefg')     # 把字符串转换为元组
  2. ('a', 'b', 'c', 'd', 'e', 'f', 'g')
  3. >>> aList = [-1,-4,6,7.5,-2.3,9,11]
  4. >>> aList
  5. [-1, -4, 6, 7.5, -2.3, 9, 11]
  6. >>> tuple(aList)        # 把列表转换为元组
  7. (-1, -4, 6, 7.5, -2.3, 9, 11)
  8. >>> s = tuple()        # 空元组
  9. >>> s
  10. ()

2 .访问元组

元组可以使用下标索引来访问元组中的值,与列表类似

  1. >>> a = ('a','b','c')
  2. >>> a[0]
  3. 'a'  

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素

  1. >>> c = ('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
  2. >>> c[2:4]
  3. ('c', 'a')

3 .修改元组

与字符串和列表一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组

  1. ''' Python学习交流,免费公开课,免费资料, 免费答疑,系统学习加QQ群:531509025 '''
  2. >>> a = ('a','b','c')
  3. >>> a[0]
  4. 'a'
  5. >>> a = ('a','b','c')
  6. >>> b = (1,2,3)
  7. >>> a + b
  8. ('a', 'b', 'c', 1, 2, 3)
  9. >>> a*3
  10. ('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
  11. >>>

注意:这里修改元组的意思其实是返回了一个新的元组,并没有对原来的元组进行修改

4. 删除元组

使用del可以删除元组对象,不能删除元组中的元素

  1. >>> a = ('a','b','c')
  2. >>> a
  3. ('a', 'b', 'c')
  4. >>> del a
  5. >>> a
  6. Traceback (most recent call last):
  7. File "<pyshell#38>", line 1, in <module>
  8. a
  9. NameError: name 'a' is not defined

5.元组常用函数

  1. >>> student= (1, "tom", "2008-05-06", 10, 135.7)
  2. >>> print(len(student))    # len 返回元组的元素个数
  3. 5
  4. >>> num=(1, 2, 3, 4, 5, 6, 7 )
  5. >>> print (max(num))    # max 返回元组元素最大值
  6. 7
  7. >>> num=(1, 2, 3, 4, 5, 6, 7 )  
  8. >>> print (min(num))    # min 返回元组元素最小值
  9. 1

6.元组与列表的区别

元组一旦定义就不允许更改。
元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
从效果上看,tuple( )冻结列表,而list( )融化元组。

7.元组的优点

元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。

元组对不需要改变的数据进行“写保护”将使得代码更加安全。

元组可用作字典的“键”,也可以作为集合的元素。列表永远不能当做字典键使用,也不能作为集合的元素,因为列表不是不可变的。

注意:如果元组里面的元素嵌套着列表,那么这个列表中的元素其实是可变的。

  1. >>> t = ('a', 'b', ['A', 'B'])
  2. >>> t[2][0] = 'X'
  3. >>> t[2][1] = 'Y'
  4. >>> t
  5. ('a', 'b', ['X', 'Y'])
  6. >>>

所以这里的理解应该是元组 t 里面的元素本身不可变,但是其中有一个元素是一个list,我们对list中的元素进行了修改,但是并没有对元组里面的元素进行修改,所以这里运行才是正常的。

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python基础教程详细使用

    元组 元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可修改其元素。 元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。