列表大观园


一、List 的创建

代码如下(示例):

a = [10,20,'gaoqi','sxt']
a=[]
a=list()

二、列表的增加和删除

1.增加

代码如下(示例):

a = [10,20,'gaoqi','sxt']
a.append(80)
print(a)
[10, 20, 'gaoqi', 'sxt', 80]

2.删除

del list[索引]

a = [10,20,'gaoqi','sxt']
del a[0]
print(a)
[ 20, 'gaoqi', 'sxt', 80]

3.list 的扩充

(1)+:创建了一个新对象

a = [20,'gaoqi','sxt']
a+=[50]
print(a)
[ 20, 'gaoqi', 'sxt', 80,50]

(2)extend:将目标列表的所有元素添加到本列表的尾部,没有创建新对象

a = [20, 'gaoqi', 'sxt', 80, 50]
 id(a)
2462236091712
a.extend([100])#因为是目标列表,所以加上[]
a
[20, 'gaoqi', 'sxt', 80, 50, 100]
id(a)
2462236091712

(3)*:生成一个新列表,新列表元素时原列表元素的多次重复

b=[30]
b*=3
b
[30, 30, 30]

字符串、元组,list 都可以通过乘法进行扩展

4.list 的插入:insert()方法可以将指定的元素插入到列表对象的任意制定位置(索引,指定元素)

a.insert(0,99)
a
[99, 20, 'gaoqi', 'sxt', 80, 50, 100]

5.list 的删除

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

del list[索引]

(2)pop():删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素。

b=[30, 30, 30, 50]
b.pop()
50

(3)remove():删除首次出现的指定元素,若不存在该元素抛出异常。

b=[30, 30, 30, 50]
b.pop()
50
b.remove(30)
b
[30, 30]

6. 列表元素访问和计数

(1)索引:索引的区间在[0, 列表长度-1]

a=[99, 20, 'gaoqi', 'sxt', 80, 50, 100]
a[6]
100

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

a=[10,20,30,40,50,20,30,20,30]
a.index(20)#首次出现20的索引位置
1
a.index(20,3)#从第3位开始,20所在的索引位置
5
a.index(20,5,7)#从第56位中间,是否存在元素20,存在,索引是多少(左闭右开)


(2)count 获得指定元素出现的次数

a=[10,20,30,40,50,20,30,20,30]
a.count(20)
3

(3)len() 返回列表长度

a=[10,20,30,40,50,20,30,20,30]
len(a)
9

7. 列表切片处理

切片slice 操作可以让我们快速提取子列表或修改。标准格式为:
[起始偏移量start:终止偏移量end[:步长step]]##从start 提
取到end-1,步长是step
###起始偏移量和终止偏移量不在[0,字符串长度-1],也不会报错。起始偏移量小于0 则会当做0,终止偏移量大于“长度-1”会被当成”长度-1”。

a=[10,20,30,40,50,20,30,20,30]
a[0:5:2]
[10, 30, 50]
a[-3:]#倒数后三个,但是正向打印出来
[30, 20, 30]
a[-5:-3]#(左闭右开)
[50, 20]
a[::-1]#倒序排列
[30, 20, 30, 20, 50, 40, 30, 20, 10]

8. 列表遍历元素

for i in []:

9. 列表排序

(1)[].sort:修改原列表,不建新列表的排序

a=[10,20,30,40,50,20,30,20,30]
a.sort()#默认升序排列
a
[10, 20, 20, 20, 30, 30, 30, 40, 50]
a.sort(reverse=True)
a
[50, 40, 30, 30, 30, 20, 20, 20, 10]
import random
random.shuffle(a) #打乱顺序
a
[20, 30, 20, 20, 50, 40, 30, 30, 10]



(2)sorted():建新列表的排序(返回新列表,不对原列表做修改。)

a=[10,20,30,40,50,20,30,20,30]
id(a)
2462235979712
a=sorted(a)
id(a)
2462236091712

(3) =reversed():返回迭代器

内置函数reversed()也支持进行逆序排列,与列表对象reverse()方法不同的是,内置函数
reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象。

a = [20,10,30,40]
c = reversed(a)
c
<list_reverseiterator object at 0x0000000002BCCEB8>
list(c)
[40, 30, 10, 20]
list(c)
[]

10.列表相关的其他内置函数汇总

(1)max:max(a)

(2)min:min(a)

(3)sum:对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。sum(a)

11.多维list

在这里插入图片描述

a = [
["高小一",18,30000,"北京"],
["高小二",19,20000,"上海"],
["高小一",20,10000,"深圳"],
]
for m in range(3):
for n in range(4):
print(a[m][n],end="\t")
print() #打印完一行,换行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值