码迷,mamicode.com
首页 > 其他好文 > 详细

关于元组知识点的详细总结

时间:2020-09-17 23:49:50      阅读:37      评论:0      收藏:0      [点我收藏+]

标签:括号   元素   没有   pytho   方法   python   pre   开始   创建   

元组的定义

元组是不可变对象,可以存放0至多个元素(即元组的成员,也是对象)。元组本身不可修改,如果要修改只能建一个新的。它的元素是不可变对象时不可修改,是可变对象时可以修改。

元组的创建

  • 空元组,一对圆括号。

    t=()
    print(type(t))
    
    out:
    <class ‘tuple‘>
    
  • 1个元素的元组,用圆括号将这个元素包围,同时这个元素后面加给逗号

    t=(1,)  # 注意这个逗号必不可少
    print(type(t))
    t2=(1)  # 没有逗号是这个数据本身的类型,不是元组
    print(type(t2))
    
    out:
    <class ‘tuple‘>
    <class ‘int‘>
    
  • 多个元素的元组,用圆括号将多个元素包围,同时多个元素之间用逗号隔开。

    t=(1,2,3)
    print(type(t))
    
    out:
    <class ‘tuple‘>
    
  • 其他类型转换成元组

    list1=[1,2,3]
    set1={1,2,3}
    dict1={1:‘a‘,2:‘b‘,3:‘c‘}
    t1=tuple(list1)
    t2=tuple(set1)
    t3=tuple(dict1)
    print(t1,type(t1))
    print(t2,type(t2))
    print(t3,type(t3))
    
    out:
    (1, 2, 3) <class ‘tuple‘>
    (1, 2, 3) <class ‘tuple‘>
    (1, 2, 3) <class ‘tuple‘>
    

元组的增加与运算

  • 元组是不可变对象,不能增加元素。如果需要增加元素,只能建一个新的。

  • 元组有+和*运算。

    t1 = (1, 2, 3)
    print(t1, id(t1))
    t1 += (4,)
    print(t1, id(t1))
    t1 = t1 * 2
    print(t1, id(t1))
    
    out:
    (1, 2, 3) 2276949975616
    (1, 2, 3, 4) 2276949965376
    (1, 2, 3, 4, 1, 2, 3, 4) 2276949924432
    

元组的删除

  • 元组是不可变对象,它的元素不能被删除(不论这个元素是可变对象还是不可变对象)。

  • 元组本身可以被删除。

    t=(1,2,[3,4])
    #del t[0]  会报错,元素是不可变对象
    #del t[2]  会报错,元素是可变对象
    del t
    

元组的修改

  • 元组是不可变对象,不能被修改。可以转成列表修改后再转成元组,实际上是新建元组,不是修改。

    t = (0, 1, 2)
    print(t, id(t))
    t2 = list(t)  # 将元组t转成列表复制给新变量t2
    t2[0] = 5  # 这个t2是列表,它的元素可以修改
    t = tuple(t2)  # 再把t2转成元组,赋值给t,这个t和之前t的id不同。
    print(t, id(t))
    
    out:
    (0, 1, 2) 1766323347840
    (5, 1, 2) 1766323347392
    
  • 元素是不可变对象不能修改。

  • 元素是可变对象可以修改

    t1 = (1, 2, 3, [4, 5])
    #t1[1] = 888  # 修改元素时,若它是不可变对象会报错
    t1[3][0] = 666  # 修改元素时,若它是可变对象可修改
    print(t1)
    
    out:
    (1, 2, 3, [666, 5])
    

元组的查询

  • 元组的查询是in 运算。

    t = (0, 1, 2)
    print(0 in t)
    print(666 in t)
    print(888 not in t)
    
    out:
    True
    False
    True
    

元组的内置方法

  • len,返回元组的元素长度
  • index,查询元组中某元素出现的位置
  • count,统计元组中某元素出现的次数

以下是案例

t = (‘今日‘, ‘头条‘, ‘关于‘, ‘元组‘, ‘元组‘, 1, 1)
print(t.index(‘元组‘))
print(t.count(1))
print(len(t))

out:
3
2
7

元组的元素获取方法

  • 解包,用_接收不需要的元素,加*表示这个变量是列表,可以接收多个元素,不加则只能接收一个元素。

    t = (‘今日‘, ‘头条‘, ‘关于‘, ‘元组‘, ‘元组‘, 1, 1)
    # 获取元组t的前2个元素
    a, b, *_ = t
    print(_, type(_))
    print(a, b)
    # 获取元组t的最后2个元素
    *_, num1, num2 = t
    print(num1, num2)
    # 获取元组t的倒数第3个元素
    *_, ts, _, _ = t
    print(ts)
    
    out:
    [‘关于‘, ‘元组‘, ‘元组‘, 1, 1] <class ‘list‘>
    今日 头条
    1 1
    元组
    
    
  • 切片,切片谨记2点,一是索引从0开始,二是左开右闭:

    t = (‘今日‘, ‘头条‘, ‘关于‘, ‘元组‘, ‘元组‘, 1, 1)
    # 打印元组t的前2个元素
    print(t[:2])
    # 倒序打印元组t
    print(t[::-1])
    # 打印元组的第4、和第5个元素。
    print(t[3:5])
    
    out:
    (‘今日‘, ‘头条‘)
    (1, 1, ‘元组‘, ‘元组‘, ‘关于‘, ‘头条‘, ‘今日‘)
    (‘元组‘, ‘元组‘)
    

元组的嵌套结构

t = ((1, 2, 3), (4, 5, 6), (7, 8, 9), [10, 11, 12])
# 打印6
print(t[1][2])
# 将10改成666,再打印出来
t[3][0] = 666
print(t[3][0])

out:
6
666

关于元组知识点的详细总结

标签:括号   元素   没有   pytho   方法   python   pre   开始   创建   

原文地址:https://www.cnblogs.com/fz17/p/13660512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!