Python基础 P4 列表

Python基础 P4 列表

在这里插入图片描述

列表基础

在这里插入图片描述

创建列表

如何创建列表

只需使用中括号将所有准备放入列表中的元素给包裹起来,不同的元素之间使用逗号进行分割即可。区别于其他语言的数组,里面的元素可以不是同一类型,也可以放入同一列表中

举个栗子

在这里插入图片描述

a = [1,9.6,'a',"hello"]
print(a[0])
1
print(a[1])
9.6
print(a[2])
a
print(a[3])
hello

这里分别是整型数字浮点型数字字符字符串,但是它们可以被放入同一个变量名为a的列表里,这就是python里的列表有别于其他编程语言的数组,他的内容可以更加自由

列表查询

对于创建的列表的查询,python有许多种方式:

  • 可以使用for循环遍历进行查询

  • 也可以通过小标索引进行单独查询

  • 可以通过切片来查询指定部分的内容

  • 也可以通过定位的方式进行指定查询

python列表的查询方式还是很丰富,下面就一一介绍他们在不同的使用场景都有不同的优势,后期使用时可以根据情况自行选择一种或者多种。


使用for循环遍历查询

使用for循环是一种比较常用的方法,建立变量i依次获取a列表中的内容直到结束

在这里插入图片描述

a = [1, 9.6, 'a', "hello"]

for i in a:    
    print(i)

在这里插入图片描述


下标索引进行单独查询

在这里插入图片描述

a = [1, 9.6, 'a', "hello"]

print(a[0])
print(a[1])
print(a[2])
print(a[3])
print(a[-1])
print(a[-2])
print(a[-3])
print(a[-4])

在这里插入图片描述

正序索引规律

19.6ahello
a[0]a[1]a[2]a[3]

倒序索引规律

19.6ahello
a[-1]a[-2]a[-3]a[-4]

列表切片查询

切片查询可以查找指定范围内的列表数据

在这里插入图片描述

a = [1, 9.6, 'a', "hello"]

print(a[0:2])
print(a[1:3])
print(a[:2])
print(a[1:])
print(a[:])
print(a[::2])
print(a[::-2])

在这里插入图片描述


定位查询

使用count来确定列表的成员中指定元素的数量

list.count(num) # 查找num元素在list列表中的数量

使用index来查询指定名称元素的索引值,当然index也可以在某个范围内查找某个元素的索引值

list.index(num, start, end) # 查找num元素在list[start]到list[end]列表范围内的索引值

举个栗子

在这里插入图片描述

a = [1, 9.6, 'a', 1, "hello"]

print("a中有", a.count(1), "个1")
print("hello在a中的位置是:", a.index("hello"))
print("在a[2]~a[4]之间1的索引值为:", a.index(1, 2, 4))

b = a.copy()
print(b)

在这里插入图片描述

列表添加

使用append可以将一个指定的元素添加到列表的末尾

使用extend可以将多个指定的元素添加到列表的末尾

使用insert可以将指定的一个元素插入到列表指定的位置,第一个参数指定插入的位置,第二个参数指定插入的元素

举个栗子

在这里插入图片描述

a = [1, 9.6, 'a', 1, "hello"]

a.append(666)
print(a)
a.extend([3, 4, 5])
print(a)
a.insert(1, 2)
print(a)

在这里插入图片描述

列表删除

使用remove可以指定元素的名称进行列表删除

使用pop可以指定元素的序列号进行列表删除

使用clear可以清除整个列表

举个栗子

在这里插入图片描述

a = [1, 9.6, 'a', 1, "hello"]

a.remove("hello")
print(a)
a.pop(1)
print(a)
a.claer()
print(a)

在这里插入图片描述

列表修改

对于列表的修改,可以直接进行重新赋值

举个栗子

在这里插入图片描述

a = [1, 9.6, 'a', 1, "hello"]

a[1] = 2
print(a)
a[2:] = [3, 4, 5]
print(a)

在这里插入图片描述

列表应用

在这里插入图片描述

排序与翻转

使用sort可以对列表进行排序

使用reverse可以对列表进行翻转

举个栗子

在这里插入图片描述

a = [1, 7, 3, 2, 9]

a.sort()
print(a)
a.reverse()
print(a)

在这里插入图片描述

拼接与重复

可以使用对列表进行拼接

可以使用 * 对列表进行重复

举个栗子

在这里插入图片描述

a = [1, 2, 3]
b = ['a', 'b', 'c']

c = a + b
print(c)
d = c * 2
print(d)

在这里插入图片描述

嵌套列表(多维列表)

python对于列表的嵌套,就是多维列表的概念

举个栗子

在这里插入图片描述

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

for i in a:    
    for each in i:        
        print(each)

在这里插入图片描述

拷贝的深浅

浅拷贝:使用copy来对列表进行复制

深拷贝:可以使用deepcopy对元素进行深拷贝


相当于浅拷贝只是指向了与拷贝列表相同的地址如果被拷贝对象的值发生了拷贝,拷贝对象也会发生改变

深拷贝则是拷贝内容值,拷贝值不会收到被拷贝值得影响

举个栗子

在这里插入图片描述

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

x = a.copy()
y = copy.deepcopy(a)
a[1][1] = 0
print(a)
print(x)
print(y)

在这里插入图片描述

列表推导式

列表推导式可以减少代码量,同时列表推导式的效率比一般程序要快上一倍左右

基本公式

[expression for target in iterable]

expression:执行的内容表达式
target:使用公式目标变量
iterable:列表来源

举个栗子
在这里插入图片描述

a = [1, 2, 3, 4, 5]
b = [i for i in a]
print(b)

矩阵处理

使用for循环的实现

在这里插入图片描述

在这里插入图片描述

使用列表推导式

在这里插入图片描述

matrix = [[1, 2, 3],          
             [4, 5, 6],          
             [7, 8, 9]]
             
diag = []
diag = [i * matrix[i][i] for i in range(len(matrix))]
print(diag)

在这里插入图片描述

进阶练习

1.列表相加目标查找(基础版+随机版)

2.主要/最多元素统计(中间值法+摩尔投票法)

3.玩转列表矩阵(矩阵生成+矩阵查找+特殊矩阵+矩阵运算)

4.列表的图形大法(杨辉三角形)

。。。。待更新

更多内容

Python基础 P1 变量
Python基础 P2 数字类型与优先级
Python基础 P3 分支与循环

其他内容

文章索引

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CagePan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值