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])
  • 相关阅读:
    简单的模板解析函数
    HTML通过事件传递参数到js 二 event
    HTML通过事件传递参数到js一
    通过this获取当前点击选项相关数据
    LeetCode 20. 有效的括号(Valid Parentheses)
    LeetCode 459. 重复的子字符串(Repeated Substring Pattern)
    LeetCode 14. 最长公共前缀(Longest Common Prefix)
    LeetCode 168. Excel表列名称(Excel Sheet Column Title)
    LeetCode 171. Excel表列序号(Excel Sheet Column Number) 22
    LeetCode 665. 非递减数列(Non-decreasing Array)
  • 原文地址:https://www.cnblogs.com/BKY88888888/p/11252532.html
Copyright © 2011-2022 走看看