006 Python语法之列表与二维列表

本文详细介绍Python列表的基础操作,包括定义、访问、修改、遍历、拼接及常见函数与方法的使用。同时,深入讲解了索引、切片、列表推导式、二维列表和列表排序等高级特性。

列表(可用*)

列表的定义

list1 = ["a","b",123]

列表推导式

list1 = [i for i in range(100) if not(i%2) and i % 3]

访问列表中的值

list1 = ["a","b","c","d","e"]
print(list1[0])      -->  a
print(list1[0:3])    -->  ["a","b","c"]
print(list1[:3])     -->  ["a","b","c"]
print(list1[0:-1])   -->  ["a","b","c","d"]
print(list1[2:])     -->  ["c","d","e"]
print(list1[:]) -->  ["a","b","c","d","e"]
print(list1[0:-1:2]) -->  ["a","c"]
索引介绍
  1. list1[0]:这种[]中只有一个数字的是访问单个元素,索引从0-len(list1)-1
  2. list1[0:3]:这种拥有两个索引,中间用冒号连接的是访问索引从0-2的三个元素组成的列表,索引包左不包右
  3. list1[:3]:这个相当于list1[0:3],左边缺省代表从0开始
  4. list1[0:-1]:这个相当于从0访问到倒数第二个元素,-1代表最大的索引,但是因为包左不包右,所以最后一个元素获取不到
  5. list1[2:]:缺省右边相当于从2开始访问到最后一个元素
  6. list1[:]:两边都缺省相当于list1列表的拷贝,它们的id不一致,相当于list1.copy()
  7. list1[0?2]:这个和4一样,但是最后那个2代表的是步进的意思,就是每两个元素取一个元素
遍历列表
list1 = ["a","b","c","d","e"]
for i in list1:
    print(i)
list1 = ["a","b","c","d","e"]
for index,item in enummerate(list1):
    print(index, item)

修改列表元素

通过索引修改
list1 = ["a","b","c","d","e"]
list1[2] = 123
list1 --> ["a","b",123,"d","e"]
通过方法修改
list1 = ["a","b","c","d","e"]
list1.append("f")
list1 --> ["a","b","c","d","e","f"]
list1.pop([index])
list1 --> ["a","b","c","d","e"]
列表的拼接
list1 = [1,2,3,4]
list2 = [1,2,3,4]
list3 = list1 + list2
print(list3) --> [1,2,3,4,1,2,3,4]

列表的函数与方法

函数描述
len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)将元组转换为列表
方法描述
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)将对象插入列表
list.pop(obj=list[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort([func])对原列表进行排序
list.clear()清空列表:[]
list.copy()复制列表,拷贝一份,id不一样

二维列表

格式
list1 = [[1, 2], [3, 4], [5, 6]]
访问元素
list1 = [[1, 2], [3, 4], [5, 6]]
list1[0]  --> [1, 2]
sort函数
list1.sort(key=lambda x:x[0],reserve=True)
sort函数详解
  1. 第一个参数,key=是通过key进行排序
  2. reserve是反序的意思
sort函数的使用
list1 = [[5, 6], [1, 0], [2, 2], [0, 3], [4, 5]]
list1.sort(key=lambda x: x[0], reverse=True)  #
print(list1)  -->  [[5, 6], [4, 5], [2, 2], [1, 0], [0, 3]]

深浅拷贝

浅拷贝
  1. 只是拷贝了引用
深拷贝
  1. 从内存地址角度进行改变了
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

豆豆orz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值