• python 元组tuple介绍,使用。


    原文 https://blog.csdn.net/ruanxingzi123/article/details/83184909

    一  是什么?

    # python 元组tuple?
    '''
        元祖tuple是什么?
            是不可变的的对象  因为不可变,安全性高。
            可以使函数返回多个值
         用来记录多个值,当值没有改变的需求时。
         元祖是有序的,不可变的。【元祖的指向不可变!】
      
    ''' # 返回多个值测试 def people(): name = 'haha' age = 14 return name, age # 返回两个值 name,age = people() # 获取参数 print(name) print(age)

      

    # python 元组tuple?
    '''
        元祖tuple是什么?
            是不可变的的对象  因为不可变,安全性高。
            可以使函数返回多个值
    '''
    
    # 返回多个值测试
    def people():
        name = 'haha'
        age = 14
        return name, age # 返回两个值
    
    haha = people() # 获取参数, 直接用haha来接收。
    
    print(haha)         # 看是否能够获得name age 的值
    print(type(haha))   # 查看haha是什么类型

      

    二 元祖的定义

    三,不可变性

    四 元祖的更新和删除

    # python 元组tuple?
    '''
        元祖tuple是什么?
            是不可变的的对象  因为不可变,安全性高。
            可以使函数返回多个值
            在()内用多个逗号分隔开多个任意类型的元素
            元组用来记录多个值,当值没有改变的需求时,用元组更合适。
            元组是有序的、不可变的(虽然数据不可变,但是数据的数据是可以改变的)
    
        定义方式?
            在()内用多个逗号分隔开多个任意类型的元素
            demo = (1,2,3)
            demo2 = (1,)  逗号的存在,表明这是一个元祖
            空元祖?
            demo3 = ()
    
        元祖的更新和删除 ?
        更新  不能直接在元祖上更新,通过copy一个现有的元祖片段来构造一个新的元祖。
        删除  元祖不可变,无法单独删除元素,通过使用切片的方式更新元祖,间接删除。
    '''
    
    test = (1, 2, 3)
    print(test)  # (1, 2, 3)
    
    # 更新  试图通过构造的方式   把元素4 加入到元祖test中
    test = test[:0] + (4,) + test[0:]
    print(test)     # (4, 1, 2, 3)
    
    # 删除 切片的方式删除元素[1]
    test = test[:1] + test[2:]
    print(test)   # (4, 2, 3)  通过更新和删除  就好像是将元祖中的元素【0】 修改为4
    
    
    # 把元祖中的元素都删除掉
    test = test[:0] + test[3:]
    print(test)

    五 del  删除元祖

    六  关系判断的使用  in , not in

    七  如何理解元祖的指向不可变?

    '''
    一 元祖中的指向
        这里定义了一个元祖 a
        里面有三个元素
        for 循环打印
        1                   指向 1   int
        2                   指向 2   int
        [4, 5, 6]           指向 3   list
    
        可以看到 在 元祖a 中的数据类型是 两个int 一个list
    
        元祖的不可变性在于,指向不可变,指向是int。那就是不可变的 !
            你非要  a [0] = 2; 就是报错的
            然而  list 是可变的啊
            所以  a[2][o] =  888  是没有问题的。
    
    二  python中的数据类型
            python中str,int,char,tuple本身就不可变,
            list,dict可变。
    '''
    a = (1, 2, [4, 5, 6])
    
    print(type(a))  # 元祖的类型 typle
    
    for l in a:
        print(l)
    
    # 不可变测试
    a[0] = 1111

    测试list的可变行

    '''
    一 元祖中的指向
        这里定义了一个元祖 a
        里面有三个元素
        for 循环打印
        1                   指向 1   int
        2                   指向 2   int
        [4, 5, 6]           指向 3   list
    
        可以看到 在 元祖a 中的数据类型是 两个int 一个list
    
        元祖的不可变性在于,指向不可变,指向是int。那就是不可变的 !
            你非要  a [0] = 2; 就是报错的
            然而  list 是可变的啊
            所以  a[2][o] =  888  是没有问题的。
    
    二  python中的数据类型
            python中str,int,char,tuple本身就不可变,
            list,dict可变。
    '''
    a = (1, 2, [4, 5, 6])
    
    print(type(a))  # 元祖的类型 typle
    
    for l in a:
        print(l)
    
    # 改变元祖中的 list
    a[2][0] = 888
    print(a)

  • 相关阅读:
    聊聊Unity2018的LWRP和混合光照
    不能直接获取?聊聊如何在Shader Graph中获取深度图
    还原堆栈信息,分析地形系统使用ASTC格式的纹理导致Crash的问题
    巧妙设置Texture Type,将ShadowMask内存占用变成之前的1/4
    开发自定义ScriptableRenderPipeline,将DrawCall降低180倍
    Signed Distance Field Shadow in Unity
    Daily Pathtracer!安利下不错的Pathtracer学习资料
    聊聊LightProbe原理实现以及对LightProbe数据的修改
    Scala学习笔记(六):本地函数、头等函数、占位符和部分应用函数
    Scala学习笔记(五):内建控制循环
  • 原文地址:https://www.cnblogs.com/ZXF6/p/14067678.html
Copyright © 2020-2023  润新知