zoukankan      html  css  js  c++  java
  • python list(列表)和tuple(元组)

    介绍

    python中存在两种有序的类型列表,分别是list(列表)和tuple(元组)。list可变、tuple不可变。
     
     

    一、list[]列表

    为什么说list是可变的元素列表,因为在定义完list列表之后,还可以对列表中的元素值进行修改、增加或删除元素;同时list是一个有序的集合,注意列表和数组一样索引也是从0开始。

    1.定义list列表

    name=['a','b',3]

    2.获取list的值

    >>> name[0]
    'a'
    >>> name[1]
    'b'
    >>> name[2]
    3

      >>> name[-1]
      3
      >>> name[-2]
      'b'

    3.获取列表的长度

    >>> len(name)
    3

    4.修改列表元素的值

    >>> name[0]=1
    >>> name
    [1, 'b', 3]

    将列表的第一个元素的值修改为1

    5.增加元素

    >>> name.append('4')
    >>> name
    [1, 'b', 3, '4']

    append方法默认在列表末尾增加元素

    在指定位置增加元素

    >>> name.insert(1,'')
    >>> name
    [1, '', 'b', 3, '4']

    可以使用insert在指定的位置增加元素

    6.删除元素

    删除末尾元素

    >>> name.pop()
    '4'
    >>> name
    [1, '', 'b', 3]

    删除指定元素

    >>> name.pop(3)
    3
    >>> name
    [1, '', 'b']

    6.列表中包含列表

    >>> name.insert(1,['',''])
    >>> name
    [1, ['', ''], '', 'b']

    返回元素'天'

    >>> name[1][1]
    ''

    二、tuple()列表

    tuple也是一种有序的列表,但是它一旦定义了就无法更改,你也可以用获取LIST元素的方法获取tuple元素,但是不能使用append、pop、insert等方法修改元组。

    1.定义元组

    >>> tu=('a','b','c',4)
    >>> tu
    ('a', 'b', 'c', 4)

    2.获取元素

    >>> tu[0]
    'a'
    >>> tu[-1]
    4

    3.当对元素的值进行修改时失败

    >>> tu[0]='1'
    Traceback (most recent call last):
      File "<pyshell#74>", line 1, in <module>
        tu[0]='1'
    TypeError: 'tuple' object does not support item assignment

    4.定义一个空的tuple

    >>> t=()
    >>> t
    ()

    5.定义一个元素的tuple

    >>> t=(1,)
    >>> t
    (1,)

    注意:1后面需要加逗号,否则会被解析成数学表达式的括号等于1,例如:

    >>> x=(1)
    >>> x
    1

    它不是元组,只能算是一个赋值操作了

    6.定义"可变"的tuple

    注意这里的可变的意思需要特别理解,这里的可变不是tuple的元素,而是元素内才元素

    >>> tlist=('a','b',['c','d'])
    >>> tlist
    ('a', 'b', ['c', 'd'])

    修改元素“['c','d']”列表中的值、

    >>> tlist[2][0]='x'
    >>> tlist[2][1]='y'
    >>> tlist
    ('a', 'b', ['x', 'y'])
    >>> 

    对于tuple来说它只能保证它括号内的基本元素不变,但是元素内在值不在限制内,例如上面的列子tlist有三个元素分别是:'a','b','[]',而元素'[]'是一个列表,它包含值'c','d',所以元素列表'[]'的值不在tuple的限制之内了。

    总结

    在面向对象的语言里,所有元素的都称为对象,所以list和tuple都是对象;而list是可变对象,tuple是不可变对象(前提tuple中不能存在list)。 

    备注:

        作者:pursuer.chen

        博客:http://www.cnblogs.com/chenmh

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

    《欢迎交流讨论》

  • 相关阅读:
    webpack常用插件及作用
    函数柯里化
    防抖和节流
    实现深拷贝
    实现new操作符
    关于js中断ajax请求
    从输入 URL 到页面加载完成,发生了什么?
    vue路由传参params和query的区别
    input输入框限制(座机,手机号码)
    判断当前页面是不是用户正在浏览的页面
  • 原文地址:https://www.cnblogs.com/chenmh/p/5683173.html
Copyright © 2011-2022 走看看