Python入门学习记录4列表

列表

为什么需要列表:变量可以存储一个元素,而列表是一个大容器可以存储N多个元素,程序可以方便的对这些数据进行整体操作。
列表相当于其他语言中的数组。
列表示意图:
在这里插入图片描述
list=[ ]在[ ]这里可以存储N多个对象,构建成一个列表。

列表的创建
1.使用中括号。
2.使用内置函数list()
在这里插入图片描述

list1=['hello','552',5555]
list2=list(['hello','552',55,55])

列表特点:
1.列表元素按顺序有序排列。
2.索引映射唯一个数据。
3.列表可以存储重复数据。
4.任意数据类型可以混存。
5.更具需要动态分配和回收内存。
在这里插入图片描述
索引定位唯一元素,顺序从0开开始,逆序从-1开始。

list1=['hello','552',55]
list2=list(['hello','552',55])
#我们只输出hello
print(list1[0],list1[-3])#输出结果是hello

列表的查询操作
获取列表中指定元素的索引:index()
当所查询列表中又N多个相同元素,只返回相同元素中的第一个元素的索引。
如果查询的元素在列表中不存在,则会抛出ValueError。

list=['hello','海',55.32,2,'hello']
print(list.index('hello'))#如,结果输出为0,是一个hello的索引。
print(list.index('hello',1,4)
#结果为hello不在列表里,在索引为1--4里找hello,但不包括4.
print(list.index('hello',1,5)
#z这是输出结果为4,是最后一个hello的索引。

获取列表中的单个元素
正向索引0到N-1:list[0]
逆向索引-N到-1:list[-N]
制度索引不存在,抛出indexError

list=['hello','海',55.32,2,'hello']
#如我们想获取索引为3的元素
print(list[3])
#会得到55.32

获取列表中的多个元素
切片操作,语法格式:
列表名 , [start,stop,step]
原列表片段的拷贝。
切片器的范围 , [start,stop)
step默认值为1。

step值为正数:
[:stop:step],切片的第一个元素默认是列表的第一个元素,从start开始往后计算切片。
[start::step],切片的最后一个元素默认是列表最后一个元素,从stat开始往后计算切片。

step值为负数:
[:stop:step],切片第一个元素默认是列表最后一个元素,从start开始往前计算切片。
[start::step],切片的最后一个元素默认是列表第一个元素,从start开始往前计算切片。

list=[10,20,30,40,50,60,70,80,90]
print(list)
#step为正数时
print(list[1:6:1])#此时打印输出的是一个新列表对象
print(list[1:6:])
print(list[1:6])#上三种是步长为1,默认值值为1
print(list[0:9:2])#步长为2
print(list[:9:3])#省略start默认从索引0开始
print(list[1::2])#省略stop默认到最后一个索引结束
#step为负数时
print(list[::-1])#默认start和stop,结果为原逆序
print(list[9::-1])#这个结果与上一个一样逆序,从最后一个算起到
print(list[9:0:-2])#这个不包括0的

判断指定元素在列表中是否存在:
元素 in 列表名
元素not in列表名

列表元素的遍历:
for 迭代变量 in 列表名:
==== 操作====

#列表的遍历
list=[10,20,30,40,50,60,70,80,90]
for i in list:
    print(i)

将列表里的元素依次赋值给 i 。

列表元素的增加操作
append()在列表末尾添加一个元素。
extend()在列表末尾至少添加一个元素。
insert()在列表的任意位置添加一个元素。
切片,在列表的任意位置添加至少一个元素。

list=[10,20,30]
list.append(30)
print(list)#在原列表里添加的,没有创建成新的列表对象

list2=[55,60]
list.append(list2)
print(list)#这是会把list2这个列表作为一个元素添加到list中

list.extend(list2)#一次性在列表末尾添加多个元素
print(list)#这时,在list列表末尾扩展,把list2里的每一个元素添加到list中,而不是当做一个整体元素添加进去

list.insert(2,100)#在列表索引为2的位置添加一个元素
print(list)

list3=['hello',5.5,303]
list[4:6]=list3#切片从索引为4--6的元素切掉,替换为新的元素
print(list)

列表元素的删除
remove():一次只移除一个元素;重复元素只移除第一个元素,移除处元素不存在则抛出ValueError。
pop()删除指定位置索引上的一个元素,指定索引不存在抛出IndexError,不指定索引删除列表中最后一个元素。
切片,一次至少删除一个元素,产生一个新的列表对象。
clear()清空列表,把列表里元素清空删除。
del()删除不列表,是整个列表对象都删处。

list1=[10,20,30,40,50,60,30,30,70]
list1.remove(30)#移除了20后面的30
print(list1)

list1.pop(1)#移除了索引为1的元素20
print(list1)

list2=list1[1:3]#把其他索引位置上的元素切除
print(list2)#产生了一个新的列表,原列表改变了

list1[1:3]=[]#把索引为1:3位置上的元素切除用空列表代替
print(list1)#这时还是在原列表

list1.clear()#清空列表里的所有元素
print(list1)

del list1#把整个列表删除
print(list1)#程序报错,列表已经不存在了

列表元素的修改
指定一个索引元素,赋予一个新值。
指定切片赋予一个新值。

list=[10,20,30,40]
list[3]=100#把索引为3的元素改成100
print(list)

list[1:3]=[11,200,666,356]#把索引1:3的元素替换为这些
print(list)

列表元素的排序操作
调用sort()方法,列表中所有元素默认reverse=False按从小到大排序,可指定reverse=True进行降序排序,在原列表进行排序没有创建新的列表。
调用内置函数sorted(),可以指定reverse=True,按降序排列,产生一个新的列表对象,原列表没有变化。

list=[150,5,506,30,66,68]
list.sort()#将列表按从小到大排序,列表还是原列表没有创建新的列表对象,只是在原列表了进行排序。
print(list)
list.sort(reverse=True)#此时列表按降序排列
print(list)

list1=sorted(list)#进行牲畜排列,创建了一个新列表进行排序,原列表没有改变。
print(list1)

列表生成式
在这里插入图片描述

list=[i for i in range(1,10,2)]
print(list)

list1=[i+2 for i in range(1,4)]
print(list1)

for前的是列表要输出的对象。

[入门数据分析的第一堂课]这是一门为数据分析小白量身打造的课程,你从网络或者公众号收集到很多关于数据分析的知识,但是它们零散不成体系,所以第一堂课首要目标是为你介绍:Ø  什么是数据分析-知其然才知其所以然Ø  为什么要学数据分析-有目标才有动力Ø  数据分析的学习路线-有方向走得更快Ø  数据分析的模型-分析之道,快速形成分析思路Ø  应用案例及场景-分析之术,掌握分析方法[哪些同学适合学习这门课程]想要转行做数据分析师的,零基础亦可工作中需要数据分析技能的,例如运营、产品等对数据分析感兴趣,想要更多了解的[你的收获]n  会为你介绍数据分析的基本情况,为你展现数据分析的全貌。让你清楚知道自己该如何在数据分析地图上行走n  会为你介绍数据分析的分析方法和模型。这部分是讲数据分析的道,只有学会底层逻辑,能够在面对问题时有自己的想法,才能够下一步采取行动n  会为你介绍数据分析的数据处理和常用分析方法。这篇是讲数据分析的术,先有道,后而用术来实现你的想法,得出最终的结论。n  会为你介绍数据分析的应用。学到这里,你对数据分析已经有了初步的认识,并通过一些案例为你展现真实的应用。[专享增值服务]1:一对一答疑         关于课程问题可以通过微信直接询问老师,获得老师的一对一答疑2:转行问题解答         在转行的过程中的相关问题都可以询问老师,可获得一对一咨询机会3:打包资料分享         15本数据分析相关的电子书,一次获得终身学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永不过时的小优雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值