列表

  • 列表的应用——增删改查
  • 增:
  • append():
  • insert()
  • extend()
  • 删:
  • 漏删问题
  • 改:
  • 查:
  • 列表的切片操作
  • 列表的使用案例
  • 产生10个随机数,将其保存到列表中
  • 找出列表中的最大值
  • 求和
  • 排序
  • 补充:
  • == 和 in 的区别
  • 符号:
  • 嵌套列表
  • 类型转换,可迭代
  • 结语:



列表:类似其他语言的数组


数组:数字的组合 字母的组合 字符串的组合……


符号: 列表:[ ]

列表的应用——增删改查

增:

在这里我们需要用到三个函数:
append()
insert()
extend()

append():

append() 末尾追加,即在列表的最后添加新写入的内容。

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串


Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_02


像这样把红色添加到了蓝色后面

但是如果想增添多个,那么需要一次一次的写入,这时也可以用到循环。

Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_03


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_04


这样就将所输入的颜色都添加到了后面。

insert()

指定位置添加(插入)

Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_05


Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_06

extend()

一次添加多个元素,类似列表的合并

Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_07


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_08


我们发现它把字符串拆掉再添加进去的,它的应用是在列表中,将列表中的各个项都拆掉再添加进去。

Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_09


Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_10


像这样,entend()将 names 列表中的各个字符串拆开后再添加到了 colour 列表中。

这也可以用 “+” 号实现。

“+”号可以用于字符串的拼接,也可以用于列表的合并。

Python怎么按每行x个的形式输出列表 python列表每行输出5个_python_11


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_12

删:

del 是 delete 的缩写

声明一个列表:

brands=[‘hp’,‘dell’,‘thinkpad’,‘支持华为’,‘lenovo’,‘mac’,‘神州’]

下标:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_13

我想要把里面的 ‘thinkpad’ 这个字符串删除,当知道它的下标位置时:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_14


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_15


将 ‘hp’, ‘mac’ 都删除

运用循环,通过下标找到位置,进行删除

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_16


Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_17

漏删问题

声明一个列表:

words=[‘hellow’,‘good’,‘gogogo’,‘world’,‘digot’,‘alpha’]

想要将带有 ‘go’ 的字符串都删除

Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_18


Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_19


假如此时像这样使用 break,则只会删除一个,后面的带有 ‘go’ 的字符串都没有删除。

还有一种方式,我们不用 break 强制退出,而是每一次执行后列表长度减1。

Python怎么按每行x个的形式输出列表 python列表每行输出5个_python_20


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_21


如果这样,里面的 ‘gogogo’ 字符串还是没有删除。

这两种方式都是漏删的情况。

那么怎么样改正呢?

上述方式 i+=1 会漏删,想要避免这种情况只需要在前面先让 i-=1 就可以了

Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_22


Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_23


此时也可以用 continue,即不让下面的 i+=1 执行

Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_24


Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_25


这样就解决了漏删的问题。

改:

一个这样的列表:

brands=[‘hp’,‘dell’,‘thinkpad’,‘支持华为’,‘mac’,‘神州’]

想要把里面的 ‘神州’ 改为 ‘HASEE’

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_26


Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_27


像这样就完成了更改

步骤:1、找到要更改的值(使用下标) 2、通知=赋值 3、新的值覆盖原有的值

注意:只要做更改,必须要用到下标,只要用下标就必须用以下的循环方式。

如果我要把带有 ‘华为’ 的字符串改成 ‘HUAWEI’

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_28


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_29


像这样就可以了

查:

从列表中查找元素,标号是必不可少的。

列表的标号顺序:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_30


下面要查找其中的元素:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_31


Python怎么按每行x个的形式输出列表 python列表每行输出5个_python_32


像这样就查找了出来。

这里引申了一个新的函数:len() 长度

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_33


Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_34


这里的 len() 表示的是括号中列表中元素的个数,是一个数。

下面从 names 列表中查找 superman 这个字符串

如果查到,就输出“有超人在里面!”

Python怎么按每行x个的形式输出列表 python列表每行输出5个_python_35


Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_36

列表的切片操作

首先什么是字符串的切片操作?

假如一个字符串 s = ‘abcdefg’ ,我想取出里面的 ‘cde’ , s[2:5] -------->cde。里面的 s[2:5] 就是切片操作。列表里面也支持切片。

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_37


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_38


字符串的切片操作在第四课的中括号使用中有提到。

列表的使用案例

产生10个随机数,将其保存到列表中

Python怎么按每行x个的形式输出列表 python列表每行输出5个_python_39


Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_40


升级:产生10个不同的随机数,将其保存到列表中

如果用 for 的形式循环

Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_41


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_42


这时生成的随机数个数不一定是10。此时用到了 while 循环:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_43


Python怎么按每行x个的形式输出列表 python列表每行输出5个_python_44


这样每次都会输出十个不同的随机数。

找出列表中的最大值

求刚刚生成的十个数中的最大值:

可以运用 max() 函数,也可以自定义求最大值

(max 函数是 python 系统定义好的函数,在python 中可以直接应用,但我们也可以自己编写锻炼思维)

Python怎么按每行x个的形式输出列表 python列表每行输出5个_python_45


Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_46


像这样每一次的最大值都能求出来。

同样的方法也可求最小值

min() 是求最小值的函数

Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_47


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_48

求和

求10个随机数的和

这也可以用 python 系统给出的函数 sum() 求或者自定义求

Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_49


Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_50

排序

将这10个随机数进行排序

python 系统给出的函数:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_51


Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_52

补充:

== 和 in 的区别

先来看一个例子:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_列表_53


Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_54


== 两边的字符串必须完全相等时,才是正确的

in 的右边包含左边时就是正确的

in 的用法:

Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_55


Python怎么按每行x个的形式输出列表 python列表每行输出5个_迭代_56


if 让 in 判断作为一个条件表达式;

for … in 循环条件

if 'a' in 'abc':
 pass
if 'a' in ['a','b','c','d']:
 pass
 
for 变量  in 字符串|列表:
 pass

符号:

字符串中可以使用的符号

+
*
in
not in
is
not is
[]

列表支持的符号

# +
l1=[1,2,3]
l2=[5,6,7]
l3=l1+l2
print(l3) #------>[1, 2, 3, 5, 6, 7]
# *
l4=[5,8]*3
print(l4) #----->[5, 8, 5, 8, 5, 8]
# in
result = 3 in [1,2,3,4]
print(result) #------>True
result = [3] in [1,2,3,4]
print(result) #------>False
result = [3] in [1,2,[3],4]
print(result) #------>True

嵌套列表

列表中的元素:
整型
字符串类型
浮点型
列表
元组
字典
对象
即列表中的元素只要是一种类型都可以往里面放。

嵌套列表:

l5=[[1,2],[3,2,1],[4,5],[7,3,1]]
print(len(l5)) #----->4
e=l5[2]
print(e) #----->[4,5]
print(e[1]) #---->取出的是[4,5]中的5
# 若想要取出[3,2,1]中的2,还可以这样输入
print(l5[1][1]) #----->2
# 想取出[7,3,1]中的1
print(l5[3][2]) #----->1

类型转换,可迭代

前面我们学习了:

str() 转成字符串类型

int() 转成整型

float() 转成浮点型

转换成列表:

list() 将指定的内容转成列表,可迭代的内容可以放到 list 中。

什么是可迭代的?

只要能在 for…in 里面循环的就是可迭代的

迭代:‘abcdef’ ------>可以取出 ‘a’,‘b’,‘c’,‘d’,‘e’,‘f’。这样字符串’abcdef’就是可迭代的

Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_57


Python怎么按每行x个的形式输出列表 python列表每行输出5个_字符串_58

结语:

以上就是这节课的全部内容,我们对列表有了更深刻的了解。如果有什么问题欢迎留言评论。

Python怎么按每行x个的形式输出列表 python列表每行输出5个_随机数_59


一群人急匆匆的赶路,突然,一个人停了下来,旁边的人很奇怪:为什么不走了?停下的人一笑:走得太快灵魂落在了后面,我要等等它。是啊,我们都走得太快,然而,如果走得太远,会不会忘了当初为什么出发?