Python学习笔记(3)列表(巨详细版)


前言

列表是Python中重要的内置对象之一,是包含若干元素的有序连续内存空间。他有以下特点:
(1)可以包含任意类型的对象。
(2)列表可变。
(3)储存的是对对象的引用。


一、基本操作

1.创建列表

列表对象可以用列表常量或者list()来创建,例如:

[1,2,3,(1,2,3),"asdf"]   # 用不同类型数据创建列表

list((1,2,3))            # 将元祖转换为列表

list(range(1,3))         # 将range对象转换为列表

list('hello')            # 将字符串转换为列表

list({1,2,3}             # 集合转换为列表

list({'a':1,'b':2})      # 将字典的键转换为列表

list(x+2 for x in range (5))  #用解析结构创建列表,结果[2, 3, 4, 5, 6]

2.求长度

用len()函数获取列表函数,例如:

a = [1,2,3,(1,2,3),4]
print(len(a))
#运行结果:5
#注意:列表内的一个字符串或者集合列表之类的元素只算一个长度

3.合并

合并通常来说有两种方法,一种是直接相加,另一种是+=一个列表,前一种方法不属于原地操作,效率较慢,而且会改变它的地址,第二种属于,而且效率高,所以推荐使用第二种。代码如下:

a = [1, 2, 3]

print(id(a))   # 结果:2378862153984

a = a + [3]
print(id(a))  # 结果:2378862475456 id改变
              
a += [3]
print(id(a))  # 结果2378862475456 id 没变

4.迭代

迭代操作可以便利列表中的对象,例如:

a = [1, 2, "dsf"]
for i in a:
    print(i)
 #运行结果:1 2 “dsf”

5.关系判断

用in判断列表中是否包含某个元素,例如:

x = [1,2,3]
print(1 int x]
结果:true

6.索引

我们可以利用[]来特定提取某个位置的值,方括号内的是下标从0开始,例如第一个元素的下标就为1,往后以此类推。

x = [1,2,3,4]

print(x[0])         #结果:1,即第一个数

print(x[4])         #结果:报错,原因是超出了列表的范围,他表示第五个数,但只有4个

print([x[-1])       #结果:4,即倒数第一个数

print([x[-4])       #结果:1,即倒数第一个数

print([x[-5])       #报错,超出范围

7.分片

利用分片操作,我们可以获取列表中的部分对象,或将多个对象修改。

x = [1,2,3,4,5,6]

x[1:3]        #表示下表为1到下标为3的列表,左闭右开区间,即[2,3]

x[:]或x[::]   #表示整个列表

x[3:]         #表示从下标3开始一直到结束,左边是闭区间,即[4,5,6]

x[:3]         #表示一直到下标3的列表,同样右边是开区间,即[1,2,3]

x[1:5:2]      #表示下标1~4的列表,最右边的2表示步长,即每两个数取一个值,结果为:[2,4,6]

x[1:5:-2]     #步长为负数时,倒着取值,即:[6,4,2]

x[1:3] = 'ab' #批量修改值,此时x为[1,'a','b',4,5,6]

8.矩阵

通过列表的嵌套来表示矩阵,效果类似于c/c++里的多维数组。

x = [[1,2,3],[4,5,6],[7,8,9]]

x[0]      #表示[1,2,3]

x[0][2]   #多重索引,结果为3

二、列表常用方法

1.append()

append()方法可在列表末尾添加一个对象。例如:

a = [1, 2, 3, 4]

a.append("123")

print(a)

# 运行结果:[1, 2, 3, 4, '123']

2.extend()

extend()方法可以在末尾一次插入多个对象,参数为可迭代对象。例如:

a = [1, 2, 3, 4]

a.extend("999")  # 当参数是字符串时

print(a)  # 运行结果:[1, 2, 3, 4, '9', '9', '9']

a.extend([1, 2, 3])    # 当参数为列表时

print(a)  # 运行结果:[1, 2, 3, 4, '9', '9', '9', 1, 2, 3]

3.insert()

insert()方法可以在指定位置插入对象,括号里的参数为下标和插入内容(超出范围会报错),代码如下:

a = [1, 2, 3]

a.insert(2,'a')  # 在下标二处插入‘a'

print(a)   #运行结果:[1, 2, 'a', 3]

4.remove()

remove()方法用于删除列表中的指定值,如果有重复值,则删除第一个,若不存在则出现异常。例如:

a = [1, 2, 2, 3]

a.remove(2)     # 删除第一个2
print(a)        # 运行结果:[1, 2, 3]

a.remove(2)     # 再删除一个2
print(a)        # 运行结果:[1, 3]

5.pop()

pop()方法可以用于定向删除某一位置的数,括号里没有参数时,则默认删除最后一个数,删除后返回删除对象,例如:

a = [1, 2, 3, 4]

print(a.pop(1))     # 删除下标为1的数,并打印返回对象,结果:2

print(a)            # 打印删除后的a,结果:[1, 3, 4]

6.del语句

del语句和pop()作用相似,但语法不同,并且del语句可以一次删除多个对象,代码如下:

a = [1, 2, 3, 4, 5]
del a[2]         # 删除下标为2的数
print(a)         # 结果:[1, 2, 4, 5]

b = [1, 2, 3, 4, 5]
del b[1:4]       # 可以进行切片操作
print(b)         # 结果:[1, 5]

7.clear()

clear()方法可以删除列表中的全部元素

a = [1, 2, 3, 4, 5]

a.clear()       # 括号里不能有参数,我试了,报错QwQ

print(a)        # 变成空列表,即:[]

8.copy()

copy()方法可以复制列表对象。例如:

a = [1, 2, 'aa']

b = a.copy()

print(b)         # 将a复制给b,结果为a的值

9.sort()

sort()方法可以将列表中的元素排序,若全是数字,则从小到大排序;若全是字符串,则按字典顺序排序;若包含多种类型则报错。例如:

a = [8, 9, 6, 5]
a.sort()
print(a)      # 结果:[5, 6, 8, 9]

b = ['d', 's', 'a', 's']
b.sort()
print(b)      # 结果:['a', 'd', 's', 's']

c = [4, 'a']
c.sort()
print(c)       # 结果:报错

10.reverse()

reverse()方法可以将列表反转,配合sort使用可以实现数字的从小到大排序,例如:

a = [1,2,3,4]

a.reverse()

print(a)     # 结果:[4, 3, 2, 1]

—文章结束—

如果有收获的话,点个关注再走吧~我会不定时更新,感谢收看。

往期目录:

Python学习笔记(1)输入和输出
Python学习笔记(2)数学函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值