Python之list、tuple
前段时间看了看Python,最近在工作中频繁使用,发现自己对Python的掌握还是不够,于是决定,好好整理一阵子关于Python的东西,如果工作当天有更好的分享内容,就暂时分享工作内容,没有的话,就把Python好好过一遍。
Python中有很多内置的类型,今天主要分享list、tuple、dict、以及set这四种
1
list
list是Python内置的一种数据类型,它是一种有序的集合,也叫列表,可以随时添加和删除其中的元素、简单看下list的存储方式:
我们可以通过不同的下标去访问它里面每一个元素的值,当下标越界的时候,系统会给出相应的提示。
如果我们要取最后一个元素,可以直接使用-1下标,直接获取最后 一个元素,如下:
以此类推,还可以去倒数的第二个(下标为-2)、倒数第三个(下标为-3)。
添加
list 是一个可变的有序表,所以,可以往list中追加元素,使用的是append方法:
插入
可以把新的元素插入到list的任意一个位置中,使用insert方法配合下标完成:
删除
删除末尾元素使用pop的方法
需要删除指定位置的参数,只需要在pop()的括号中,填入指定的下标即可。
替换
要想替换list中的某一个元素,直接使用下标,将特定位置的元素进行替换即可:
长度
使用list时候,经常需要判断list的长度,这时候,我们可以采用len进行长度计算:
数据类型
元素数据类型可以不同,例如一个list中,同时包含字符型,整形和bool型,如下:
同样,list的元素也可以是list,例如:
此时我们计算这个list的长度,可以发现:
它的长度是3,这说明list的长度只和它保存的数据个数有关,而与数据类型无关。
在这种list中包含有list的情况下,我们需要访问‘banana’,需要使用LinL[1][0]:
2
tuple
tuple是另外一种有序的列表,叫做元组,tuple和list很相似。它访问元素的方法和list一致,我们可以通过-1访问它的最后一个元素。
tuple与list的区别
第一、tuple一旦初始化我们就不能重新修改它,list当中有insert,append这样的方法,tuple中将不能使用这些方法。
第二、tuple定义的时候需要使用圆括号,而不是list的方括号。
当我们试图改变t[1]当中的内容的时候,会看到错误提示,如下:
值得注意的一点是,当我们定义一个只有一个元素的时候,不能像list一样直接写L=[1],如果写成t=(1),这个时候,python会把它外面的圆括号当做数学中的括号进行解析,导致输入的数字变为t=1,也就是我们定义了一个变量t,它的值是1,如下:
那么这种情况应该怎么处理呢,正确的处理办法是写成下面这样:
主动添加一个逗号,会避免语法上的误解。
数据类型
当一个tuple中包含一个list的时候,这个list当中的值可以发生变化,如下:
这里,可能有些同学会有疑问,为什么tuple本身是不能发生变化的,而tuple中的list却可以发生变化?其原因可以用下面的图解释:
当我们把list中的值进行修改的时候,实际上我们改变的是tuple[2]所指向的那块内存里面的值,tuple当中的内存指向并没有发生变化,结果如图,tuple始终指向一个固定内存位置的list:
简单总结一下,虽然list和tuple比较简单,但是在实际使用的过程中,往往胡忽略一些细节,这里写出来,也算是巩固一下吧。通过此篇,需要记住一点,tuple不可变,list可变,这便足以。