今天学习关于列表的基础知识
那什么是列表?
[1,"2",3.14]像这种就是列表,列表里存放数据,利用逗号隔开,列表是python中的基础数据类型,列表当中的数据可以是相同或者不同的数据类型。列表可以作为一个值被赋值,然后通过赋值对列表进行处理,可以对列表进行索引、切片、加乘等操作提取数据或者计算数据相关的信息。其中列表其实为一个值,而它本身也包含多个值,如果是[ ]空列表,表示没有值,类似于空的字符串。
接下来首先是列表的一些基础运用
利用基本操作使用列表
-
1.列表里元素的提取,利用下标提取。
下标也要用[ ]扩住不然报错,而下标是从第0位开始的,指的是列表里的第一位,但不能超过下标的个数,不然会进行报错
也可以使用负数下标进行取值,整数-1指的是最后一个下标,-2为倒数第二的下标,以此类推。
-
2.利用切片取多个值
flower[1:4]为切片取值,第一个是1:4为切片开始的下标以及切片结束的下标,但是不包括切片结束下标的值
还可以通过省略下标快捷使用切片。flower[:3],指的是从下标第0位开始取到下标的第2位。flower[1:]指的是从第1位下标开始取,直到取完全长。
-
3.列表连接和列表复制
将列表连接可以使用+号,列表的复制可以使用*号
-
4.删除列表中的值,使用del语句
-
5.储存变量,将很多变量整合起来,如果变量发生改变就可以直接改变加入的变量,而不用改变其他的变量。比如保存不同猫的名字,要记录在同一地方。
-
6.列表用于循环
常见用于循环的是将下标迭代,比如在for循环中使用range(len(someList))
-
7.查询列表中判断列表中是否有目标值,使用in和not in,得到的结果用True和False判断
-
8.多重赋值,通过创建和列表值个数相同的变量个数直接赋值,变量的数目与列表的长度必须相等,不相等报错
利用函数方法使用列表
-
1.使用index()在列表中查找值
-
2.利用append()和insert()函数在列表中添加值
append函数是添加到末尾,而insert()可以根据下标确定插入的位置,并且这两个函数添加值只能在列表中添加
-
3.利用remove()删除列表中的值,如果被删除的值出现好几次,只会删除第一次出现的值
-
4.利用sort()队里表中的值进行排序
但是排序需要注意几点:①如果列表中既有整数字符串浮点数是不能比较的 ②不能使用变量=变量.sort()得到返回值 ③sort()方法对字符串排序时, 使用“ASCII 字符顺序”, 而不是实际的字典顺序。大写字母排在小写字母之前。④可以使用sort(reverse=Ture)进行逆向排序
类似列表的字符串和元组
-
1.字符串也可以像列表一样进行下标取值、切片以及索引,查找值,以及循环,但是字符串与列表的区别是字符串不可以改变的,列表可以改变,要修改字符串要利用切片进行修改,在需要插入的地方进行切片,然后将插入的内容与切片连接起来。
-
2.元组,元组与列表类似,但是列表使用的是[ ]方括号,而元组使用的( )圆括号,其中元组与字符串一样是不可以被改变的。如果元组中只有一个值,需要在这个值后面加上,,表示为元组而不是普通的赋值
-
3.使用list()和tuple()转换数据类型,list是将数据类型转化为列表,而tuple()是指将数据类型转化为元组
-
4.引用以及传递引用,当列表被引用时,修改列表值时,被赋值的变量也要改变
-
5.如果想让引用的变量最后不因为原始列表值的改变而改变,需要使用copy()和deepcopy()函数
其中grass=copy.copy(flower)是指创建了名为grass的列表,可以独立于flower列表进行修改,而如果复制的列表中包含列表,则需要copy.deepcopy来进行复制
元组与字符串可以进行取值、切片以及索引,但是是不可变的,而列表是可变的,并且可以引用以及传递引用。
思维导图
习题:
答案:
参考链接:
https://blog.csdn.net/weixin_43840640/article/details/93637100