zoukankan      html  css  js  c++  java
  • 元祖

    # 元组:
    # 本质:一种不可变的、有序集合
    # 与list的区别:1、与list相似(有序的集合) 2、tuple是不可变的
    # 3、使用 () 创建
    
    # 一、创建元组
    # 语法格式:元组名称 = (元素1, 元素2, .....)
    # 1、创建一个空元组
    tuple1 = ()
    print(tuple1)
    print(type(tuple1)) # tuple
    
    # 2、创建一个带有至少两个元素的元组
    tuple2 = (1, 2, 3)
    print(tuple2)
    print(type(tuple2)) # tuple
    
    # 3、元组中的元素的数据类型可以是任意类型的数据
    tuple3 = (1, "abc", 3.14, True, None)
    print(tuple3)
    
    # 4、创建带有一个元素的元组
    tuple4 = (100) # 这种方式创建的是100这个int类型的数字,而不是tuple类型
    # 的数据,原因:小括号() 既可以表示元组,也可以是数学中的小括号(提升
    # 运算符优先级),如果只是单纯的将数字用小括号括起来,优先选择数学中小括号
    # 的意义。
    print(tuple4)
    print(type(tuple4)) # <class 'int'>
    
    # 创建带有一个元素的元组,在第一个元素后面要加一个,(逗号)消除()小
    # 括号的歧义即可。
    tuple5 = (100, )
    print(type(tuple5)) # tuple
    print(tuple5)
    
    
    # 二、元组的访问
    # 1、取值
    # 语法格式: 元组名[index] index从0开始,不能越界
    tuple6 = (1, 2, 3, 4, 5, 6, 7)
    print(tuple6[2])
    # print(tuple6[20]) # IndexError: tuple index out of range
    print(tuple6[-1])
    
    # 2、不能修改元组中的元素 原因:元组是不可变类型数据
    #tuple6[1] = 100 # TypeError: 'tuple' object does not support item assignment
    print(tuple6)
    
    # 3、删除元组 (实际删除的是变量)
    del tuple6
    # print(tuple6) # NameError: name 'tuple6' is not defined
    
    # 三、元组的操作
    # 1、元组组合 +
    tuple7 = (1, 3, 4)
    tuple8 = (1, 2)
    tuple9 = tuple7 + tuple8
    print(tuple9)
    
    # 2、元组元素的复制 *
    tuple10 = (1, 2)
    print(tuple10 * 5)
    print(tuple10)
    
    # 3、元组的切割
    # 语法格式: 元组名称[[起始下标]:[结束下标][:[递增基数]]]
    tuple1 = (0, 1, 2, 3, 4, 5, 6, 7)
    # 从头开始截取,截取到数字4
    tu1 = tuple1[:5]
    print(tu1)
    # 从数字3开始,截取到末尾
    tu2 = tuple1[3:]
    print(tu2)
    # 截取所有
    tu3 = tuple1[:]
    print(tu3)
    # 隔一取一
    tu4 = tuple1[::2]
    print(tu4)
    # 反转元组
    tu5 = tuple1[::-1]
    print(tu5)
    # 从数字3开始,截取到数字5
    tu6 = tuple1[3:6]
    print(tu6)
    
    # 4、判断变量或常量是否在元组中 in not in
    tuple2 = (1, 2, 3, 4, 5)
    print(1 in tuple2) # T
    print(10 in tuple2) # F
    
    # 5、修改元组
    tu = (1, 2, [1, 2, 3, 4, 5], 4, 5)
    # tu[0] = 100 # 错误
    # tu[2] = [2, 3, 4] # 错误
    tu[2][0] = 100
    print(tu)
    
    # 元组中的元素对应的内存地址不能再次更改,但如果元组中的元素为可变
    # 数据类型,是可以更改可变类型数据中的元素的。
    
    # 四、元组的方法
    # 1、返回元组的元素个数 len(tuple)
    tu2 = (1, 2, 3, 100, 200, 555, 21)
    print(len(tu2))
    # 2、返回元组的最大值 max(tuple)
    print(max(tu2))
    # 3、返回元组的最小值 min(tuple)
    print(min(tu2))
    # 4、遍历元组
    for i in tu2:
    print(i)
    
    for index in range(len(tu2)):
    print(tu2[index])
    
    # 五、数据类型转换
    # list -> tuple tuple()
    li1 = [1, 2, 3]
    tu1 = tuple(li1)
    print(tu1)
    # tuple -> list
    tu2 = (100, 200)
    li2 = list(tu2)
    print(li2)
    # string -> tuple tuple()
    str1 = "abcdef"
    tu3 = tuple(str1)
    print(tu3)
    # string -> list list()
    str3 = "qwert"
    li4 = list(str3)
    print(li4)
    # tuple -> string
    tu5 = (1, 2, 3)
    str4 = str(tu5)
    print(str4) # "(1,2,3)"
    print(type(str4)) # str
    # list -> string
    li5 = [1, 2, 3]
    str4 = str(li5)
    print(str4) # "[1,2,3]"
    print(type(str4)) # str
    
     
    
    # 六、二维元组
    tu = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
    # 遍历二维元组
    for i in tu:
    print(i)
    for j in i:
    print(j)
    
    # 使用下标的方式遍历二维元组
    for i in range(len(tu)):
    for j in range(len(tu[i])):
    print(tu[i][j])
  • 相关阅读:
    第六周 组合数据类型
    第五周 函数和代码复用
    第四周 程序的控制结构
    第三周 Python基本数据类型
    python库
    sublime text3自定义设置及快捷键大全
    Sublime Text3插件安装教程
    Linux 标准目录结构
    快学Scala-10--List 和Set
    快学Scala-09--模式匹配
  • 原文地址:https://www.cnblogs.com/BKY88888888/p/11252532.html
Copyright © 2011-2022 走看看