【Python列表的使用和创建(详细版)】

一.列表概念

1.概念:在Python中列表是一个对象的集合。

二.列表的创建

1.基本语法[ ]创建

例:

a=[10,20,30,"无限",'txt']
a=[] # 创建一个空列表

2.list( )创建

(1).使用list( )可以将任何可迭代的数据转化成列表。
例:

a=list("cosfirst")
b=list(range(10))
print(a)
print(b)

执行结果:
在这里插入图片描述

3.range( )创建

(1).range( )可很好的创建整数列表。

格式:range([start],[end],[step])
其中:start可选(默认为0),end必选,step可选(默认为1)
例:

a=list(range(0,10,1))
b=list(range(3,20,20))
c=list(range(-10,-33,-1))
print(a)
print(b)
print(c)

执行结果:
在这里插入图片描述
【注】:在Python3中range( )返回的是一个range对象,而不是列表,我们可以list( )方法将其转化为列表对象。

4.推导式创建(简要说明:for循环后面后重点介绍)

例1:

a = [x * 2 for x in range(5)]  # 循环创建多个元素

解释:for x in range(5) 产生数:0,1,2,3,4
然后x*2在产生的数上乘2,变为:0,2,4,6,8

例2:

a=[x*2 for x in range(100) if x%9==0]

在例1的基础上增加把数扩大到0~100,并且增加输出条件要符合能整除9的数。

三.列表元素添加

1.append( )方法

(1).原地修改列表对象,在列表的尾部添加新元素(速度最快)
例:

a=[20,30,10]
a.append("txt")
print(a)

执行结果:
在这里插入图片描述

2.+运算符操作

(1).+运算符操作并不是真正意义的尾部添加元素,而是创建新的列表元素;将原列表元素和新列表的元素依次复制到新列表对象中,但涉及大量复制操作。
例:

a=[20,40]
print(id(a))
a=a+[50,70]
print(a)
print(id(a))

执行结果:
在这里插入图片描述

注:看前后a的地址可以知道二者不是同一个对象。

3.extend( )方法

(1).将目标列表所有元素添加到本列表的尾部,不创建新的列表对象。
例:

a=[20,40]
print(id(a))
a.extend([30,800])
print(a)
print(id(a))

执行结果:
在这里插入图片描述

4.insert( )插入元素

(1).将指定元素插入到列表对象的任意制定位置(会让插入位置后面的所有元素移动,影响处理速度)

5.乘法拓展

例:

a = ['234', "数字"]
b = a * 4
print(b)

执行结果:
在这里插入图片描述

四.列表的删除

1.del删除

(1).删除列表中指定位置的元素。
例:

A = [100,200,666,300,400]
print(A)
del A[2]
print(A)

执行结果:
在这里插入图片描述
实质:看似删除,实则拷贝。

【图片解释】:
在这里插入图片描述

(2).remove( )方法

(1).删除首次出现的指点元素,若不存在,则报错。
例:

A = [100,200,666,300,400,200,400,100]
print(A)
A.remove(200)
print(A)

执行结果:
在这里插入图片描述

3.pop( )方法

(1).删除并返回指定位置元素,默认最后一位
例:

A = [100, 200, 666, 300, 400, 200, 400, 999]
b = A.pop()
print(b)
c = A.pop(0)
print(c)

执行结果:
在这里插入图片描述

四.列表元素的访问与计数

1.索引直接访问元素

【注】:索引区间[0,列表长度-1],超出,抛异常。

2.index( )访问

(1).获得指定与元素在列表中首次出现的索引。
格式:index(value,[start],[end])

a = [100, 200, 666, 300, 400, 200, 400, 999]
c=a.index(100)
d=a.index(999)
print(c)
print(d)

执行结果:
在这里插入图片描述

3.count( )获得指定元素在列表中出现的次数。

a = [100, 200, 666, 300, 400, 200, 400, 999]
b = a.count(200)
print(b)

执行结果:
在这里插入图片描述

4.len( )返回列表长度

(1).返回列表长度即包含的元素个数

5.成员资格判断

(1).可用count( )方法,返回0,表示不存在;返回大于0,表示存在。
(2).但一般用in,返回True/False。

五.切片slice操作

(1).快速提取子列表或修改(同字符串切片相同)

六.列表的遍历(简要介绍)

例:
for obj in list(obj)

七.列表的排序

1.修改原列表,不创建新列表排序

例1:(升序排序

a=[20,10,30,40]
print(id(a))
a.sort()  # 默认升序排序
print(a)
print(id(a))

执行结果:
在这里插入图片描述
例2:(降序排序

a=[20,10,30,40]
print(id(a))
a.sort(reverse=True)  # 降序排序
print(a)
print(id(a))

执行结果:
在这里插入图片描述

2.建新列表排序

(1).内置函数sorted( )
【注】:返回新列表,不改变原列表。

a = [20, 10, 30, 40]
print(id(a))
b = sorted(a)
print(b)
print(id(b))

执行结果:
在这里插入图片描述

3.reversed( )返回迭代器

(1).reversed( )也支持逆序排列
【注】:不对原列表做修改,只返回一个逆序排列的迭代器对象。

例:

a=[20,70,40,30]
b=reversed(a)
print(list(b))

执行结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值