美文网首页
python的list 和tupe

python的list 和tupe

作者: 我愿是你的左右手 | 来源:发表于2017-07-13 17:53 被阅读0次

    一、list
    list是python内置的有序的列表,可以随时添加和删除其中的元素
    1、 定义

    list_name = ["param1","param2","param3"]

     >>> city = ["北京","上海","广州"]
     >>> city
     >>> ['北京', '上海', '广州']
    

    2、访问

    1)用索引来访问,索引从0开始

     >>> city[0]
     >>> '北京'
    

    索引不可以越界,否则会报错,最后一个元素的索引是len(city) - 1
    2)还可以从后开始访问 最后一个元素的索引为-1 依次类推,第一个元素的索引为-len(city)
    >>> city[-1]
    >>> '广州'

     >>> city[-len(city)]
     >>> '北京'
    

    3、元素的追加

    >>> city.append('南京')
    >>> city
    >>> ['北京', '上海', '广州', '南京']
    

    4、元素的插入

    在city的索引1处增加 重庆
    >>> city.insert(1,'重庆')
    >>> city
    >>> ['北京', '重庆', '上海', '广州', '南京']

    5、元素的删除
    1)删除末尾

     >>> city
     >>> ['北京', '重庆', '上海', '广州', '南京']
     >>> city.pop()
     >>> '南京'
     >>> city
     >>> ['北京', '重庆', '上海', '广州']
    

    2)删除指定位置元素 pop(i),i为索引值

     >>> city
     >>> ['北京', '重庆', '上海', '广州']
     >>> city.pop(1)
     >>> '重庆'
     >>> city
     >>> ['北京', '上海', '广州']
    

    6、元素的替换

     >>> city
     >>> ['北京', '上海', '广州']
     >>> city[0] = '南京'
     >>> city
     >>> ['南京', '上海', '广州']
    

    7、二维list

     >>> list的元素也可以是list
     >>> city_son = ['徐家汇','浦东区']
     >>> city[1] = city_son
     >>> city
     >>> ['南京', ['徐家汇', '浦东区'], '广州']
    

    访问的时候 我们就可以直接 city[1][0] city[1][1]来访问 其中的元素值

    二、tuple(元组)

    tupe和list的最大的区别就是 tuple一旦被创建 就无法修改

    1、定义

     >>> country = ('中国','美国','加拿大')
     >>> country
     >>> ('中国', '美国', '加拿大')
    

    2、访问
    和list是一样的 country[0],country[1]。由于tuple是不可变的,所以没有append 和insert 函数

    3、 一个元素的tuple

     >>> num = (1)
     >>> num
     >>> 1
     >>> name = ("shuang")
     >>> name
     >>> 'shuang'
    

    我们发现 当tuple的元素只有一个元素的时候,python会认为括号就是小括号的功能,就会按照整数或者字符串解析,为了解决这个问题,python规定这种情况 在后面加一个逗号','就可以

     >>> num = (1,)
     >>> num
     >>> (1,)
     >>> name = ('shuang',)
     >>> name
     >>> ('shuang',)
    

    4、 tuple的指向不变

     >>> c = (1,2,['shuang','dan'])
     >>> c
     >>> (1, 2, ['shuang', 'dan'])
     >>> c[2][0] = 'dong'
     >>> c
     >>> (1, 2, ['dong', 'dan'])
    

    你会惊讶,怎么可以变了呢??
    其实在python内部,c[0],c[1]指向 1 和 2,而c[2]是指向的一个list对象,其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变.

    相关文章

      网友评论

          本文标题:python的list 和tupe

          本文链接:https://www.haomeiwen.com/subject/deagfxtx.html