Python基础 P4 列表

文章目录

  • Python基础 P4 列表
    • 列表基础
      • 创建列表
      • 列表查询
      • 列表添加
      • 列表删除
      • 列表修改
    • 列表应用
      • 排序与翻转
      • 拼接与重复
      • 嵌套列表(多维列表)
      • 拷贝的深浅
      • 列表推导式
    • 进阶练习
      • 1.列表相加目标查找(基础版+随机版)
      • 2.主要/最多元素统计(中间值法+摩尔投票法)
      • 3.玩转列表矩阵(矩阵生成+矩阵查找+特殊矩阵+矩阵运算)
      • 4.列表的图形大法(杨辉三角形)
    • 更多内容

Python基础 P4 列表

Python基础 P4 列表_第1张图片

列表基础

Python基础 P4 列表_第2张图片

创建列表

如何创建列表

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

举个栗子

Python基础 P4 列表_第3张图片

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列表中的内容直到结束

Python基础 P4 列表_第4张图片

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

for i in a:    
    print(i)

Python基础 P4 列表_第5张图片


下标索引进行单独查询

Python基础 P4 列表_第6张图片

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])

Python基础 P4 列表_第7张图片

正序索引规律

1 9.6 a hello
a[0] a[1] a[2] a[3]

倒序索引规律

1 9.6 a hello
a[-1] a[-2] a[-3] a[-4]

列表切片查询

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

Python基础 P4 列表_第8张图片

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])

Python基础 P4 列表_第9张图片


定位查询

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

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

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

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

举个栗子

Python基础 P4 列表_第10张图片

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)

Python基础 P4 列表_第11张图片

列表添加

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

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

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

举个栗子

Python基础 P4 列表_第12张图片

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)

Python基础 P4 列表_第13张图片

列表删除

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

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

使用clear可以清除整个列表

举个栗子

Python基础 P4 列表_第14张图片

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

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

Python基础 P4 列表_第15张图片

列表修改

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

举个栗子

Python基础 P4 列表_第16张图片

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

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

Python基础 P4 列表_第17张图片

列表应用

Python基础 P4 列表_第18张图片

排序与翻转

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

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

举个栗子

Python基础 P4 列表_第19张图片

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

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

Python基础 P4 列表_第20张图片

拼接与重复

可以使用对列表进行拼接

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

举个栗子

Python基础 P4 列表_第21张图片

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

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

Python基础 P4 列表_第22张图片

嵌套列表(多维列表)

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

举个栗子

Python基础 P4 列表_第23张图片

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

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

Python基础 P4 列表_第24张图片

拷贝的深浅

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

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


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

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

举个栗子

Python基础 P4 列表_第25张图片

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)

Python基础 P4 列表_第26张图片

列表推导式

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

基本公式

[expression for target in iterable]

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

举个栗子
Python基础 P4 列表_第27张图片

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

矩阵处理

使用for循环的实现

Python基础 P4 列表_第28张图片

Python基础 P4 列表_第29张图片

使用列表推导式

Python基础 P4 列表_第30张图片

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

Python基础 P4 列表_第31张图片

进阶练习

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

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

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

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

。。。。待更新

更多内容

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

其他内容

文章索引

你可能感兴趣的:(Python,python,开发语言,后端)