zoukankan      html  css  js  c++  java
  • 元组

    一、元组

    • python内置的数据结构之一,是一个不可变序列

    二、不可变序列与可变序列

    不可变序列:字符串、元组

    • 不可变序列:没有增、删、改的操作

    可变序列:列表、字典

    • 可变序列:可以对序列进行增、删改操作,对象地址不发生更改
    '''
    可变序列:列表、字典
    '''
    lst=[10,20,45]
    print(id(lst))
    
    lst.append(100)
    print(id(lst))
    
    '''
    不可变序列:字符串、元组
    '''
    s='hello'
    print(id(s))
    s=s+'world'
    print(id(s))
    
    运行结果:
    
    2232750129536
    2232750129536
    2232750141168
    2232750463280  

    三、元组的创建方式

    1、直接小括号

    2、使用内置函数tuple()

    3、只包含一个元组的元素需要使用逗号和小括号

    '''
    第一种创建方式——使用()
    '''
    
    demo1=('hello','world',98)
    print(demo1)
    print(type(demo1))
    
    demo2='hello','world',98
    print(demo2)
    print(type(demo2))
    
    demo3='hello'
    print(demo3)
    print(type(demo3)) #<class 'str'>
    #在这里,我们发现其是str类型,不再是元组类型,对于只有一个数据的元组,我们需要使用括号或者是逗号
    demo4='hello',
    print(demo4)
    print(type(demo4))#<class 'tuple'>
    
    '''
    第二种方法——使用内置函数tuple()
    '''
    demo5=tuple(('python','world',98))
    print(demo5)
    print(type(demo5))
    
    #空列表的创建方式
    lst=[]
    lst1=list()
    
    #空字典的创建方式
    d={}
    d2=dict()
    
    #空元组的创建方式
    t=()
    t2=tuple()
    
    print(t)

    四、为什么要将元组设计成不可变序列

    • 在多任务环境中,同时操作对象时不需要加锁
    • 因此,在程序中尽量使用不可变序列

    注意事项:

    • 元组中存储的是对象的引用
    • 如果元组中对象本身为不可变对象,则不能再引用其他对象
    • 如果元组中对象是可变对象,则可变对象的引用不允许改变,但数据可以改变
    demo=(10,[20,30],9)
    print(demo)
    print(demo[0],type(demo[0]),id(demo[0]))  #<class 'int'>
    print(demo[1],type(demo[1]),id(demo[1]))  #<class 'list'>
    print(demo[2],type(demo[2]),id(demo[2]))  #<class 'int'>
    
    #demo[0]=100 报错:元组是并不允许修改元素的——TypeError: 'tuple' object does not support item assignment
    '''
    由于列表是可变序列,所以可以改变列表,向列表中添加元素,而列表的内存地址不变
    '''
    demo[1].append(100) #向列表中添加元素
    
    print(demo[1],id(demo[1])) #可以发现其id号不变
    
    运行结果:
    
    (10, [20, 30], 9)
    10 <class 'int'> 1731897420368
    [20, 30] <class 'list'> 1731902849344
    9 <class 'int'> 1731897420336
    [20, 30, 100] 1731902849344

    五、元组的遍历

    demo=('python','world',98)
    '''
    两种方法遍历元组
    1、使用索引
    2、使用for循环遍历
    '''
    for i in demo:
        print(i)
    
    运行结果:
    
    python
    world
    98
    

      

  • 相关阅读:
    题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+、-、×、÷。
    冒泡排序、插入排序、快速排序
    去掉字符串中重复的字符
    建立一个带附加头结点的单链表.实现测长/打印/删除结点/插入结点/逆置/查找中间节点/查找倒数第k个节点/判断是否有环
    day_1 练习2
    python-day 练习1
    python课程第一天笔记-la
    初学react,为什么页面不显示
    跟我一起学写插件开发
    网上下载的带特效的jquery插件怎么用
  • 原文地址:https://www.cnblogs.com/xiaoqing-ing/p/14978937.html
Copyright © 2011-2022 走看看