python的List和Tuple类型(python为2.7版本)

python创建list

    python内置的一种数据类型是列表:list。列表是一种有序的集合,可以在其中添加和删除元素。

    比如,用list表示人名:

    

    list是有序集合,也就是说,list里的元素是按照顺序排列的。

    构造list非常简单,就是用一对中括号[],将所有的元素括起来,就构成一个list对象。我们通常会把list赋值给一个变量,通过变量来引用list,比如:

    

    由于Python是动态语言,所以lits中的元素可以不是同一种数据类型,也可以是一个空list:

        

按照索引来访问List

    如何获取列表第N个元素的数据呢,就是通过索引,索引下表从0开始,依次往后,最后一个元素的下标是列表长度减去1,如果越界,会报越界错误,比如:

    

Python倒序访问List

    要拿到列表的最后一个元素,直接用-1这个索引。同理,拿倒数第二个元素,用-2这个索引。列表倒序访问,下表从-1开始,依次递减1,比如:

    

Python之列表添加元素

    Python使用append()方法,将新元素追加到列表的末尾。

    如果想要插到制定位置,通过insert()方法,这个方法接受两个参数,第一个参数是索引号,第二个参数是要插入列表的新元素。

    

Python之列表删除元素

    Python删除元素的方法使用pop(),它将删除最后一个元素并返回该元素,如果要删除指定的元素,直接pop(索引)即可。

    

Python之替换列表元素

    对list的某个索引所在元素重新赋值即可,这样新元素就会顶替掉旧元素

    

python创建tuple

    tuple也是一种列表,中文成为“元组”。但是它和list不同的是,tuple一旦创建就不可更改,而它的创建形式也不是用一对中括号[],而是一对小括号()来将元素括起来。比如:t = ('a','b','c') ,此时的t就不可更改了,tuple没有append(),insert()以及pop()方法。访问tuple元素和上面讲的list是一样的,但是不能给里面的元素重新赋值:

    

python创建单元素tuple

    创建多元素tuple上面已经看过了,拿我们这次来创建一个单元素的:

    

    很奇怪,打印出来的好像不是元组,是字符串'hello'和整数1,为什么呢?因为()既可以表示元组,同时也可以是运算时的优先级,结果(1)被python解释器计算出结果1,导致我们得到的不是tuple,而是整数1。

    正因为用()定义单元素的tuple有歧义,所以python规定,定义单元素的tuple要多加一个逗号",",这样就避免了歧义:

    

    多元素的tuple加不加这个额外的",",其实效果时一样的:

    

python之"可变"的tuple

    我们来看一个可变的tuple:

    

    不是说tuple内容不可变吗,这里怎么能变了呢?

    我们先看看定义tuple的时候定义的三个元素:

    

    当我们把List的元素"A"和"B"修改为"X"和"Y"后,tuple变为:

    

    表面上看tuple元素是变了,其实变的不是tuple元素,而是list元素。

    tuple一开始指向的list并没有改成别的list,所以tuple所谓的不变,其实是“指向”不变,指向"a"就是"a",指向list就不能指向其他对象,但是list本身是可以变的。那如果要创建一个内容也不变的tuple怎么办,那就要保证tuple里面的元素本身就不可变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值