siki学Python——列表与语句

本文主讲:Python中列表的一些相关知识

列表定

列表内可以存放多个数据,使用格式如下

massage(列表名) = [数据1,数据2,数据3]
其中数据可以是字符串,可以是数字

print()有什么用呢?
相当于换行

怎么调用列表中的元素

有一个列表为 names = [“袁海清”,“姜玲玲”,“嘿嘿嘿”] 怎么单独打印出袁海清呢?

因为“袁海清”在列表元素中占第一位即 names[ 0 ] 所以打印出 names[ 0 ]
即可打印出 袁海清

image-20211009091535574

通过倒数访问列表中后几个元素 names[ -1 ] 代表访问元素中倒数第一个元素

names[ -2 ] 访问列表中倒数第二个元素

怎么截取子列表

有一个列表元素 names = [“张三”,“李四”,“王二麻子”,“大山炮”]

那怎么截取出一个新的列表元素呢,其中包含“李四”和“王二麻子“

可以这样截取 names[ 1:3 ] 其中的 1 和 3 代表原列表中第二个和第四个元素,“李四”和“王二麻子“分别为原列表中第二个和第三个元素,但是截取新列表中 3 代表的第四个元素不算,因此就截取到原列表中第三个元素

image-20211009091600574

怎么修改、增加、删除列表元素

有一个列表 names = [“张三”,“李四”,“王二麻子”]

那么请分别解释下面语句的意思:

1 names [ 1 ] = “大炮”

2 names. append( “王大力” )

3 names. insert( 1,”大傻帽”)

4 del( names[ 2 ] )

5 names. Remove(“李四”)

第一句代码的意思为将 names 列表中第二个元素替换为“大炮”

第二句代码的意思是在 names 列表中最后增加一个“王大力”的元素

第三句代码的意思为在 names 列表中将“大傻帽”元素插入到列表第二个元素的位置

第四句代码的意思为删除列表中第三个列表元素

第五句代码的意思为删除 names 列表中“李四”这个元素

列表中.pop( )弹出语句的用法

有一个列表 names = [“张三”,“李四”,“王二麻子”]

那么 s = names .pop( )是什么意思?

将 names 列表中最后一个列表元素弹出,储存到变量 s 中,弹出说明原列表中没有最后一个元素了

image-20211009091635743

列表元素的永久排序sort()

有两个列表,分别为字符串列表 names = [“dall”,“ollo”,“andf”] 与数字列表 size = [26,65,27,87,2,11] 怎么将两个列表从大到小排序呢?

利用 列表元素名 . sort( )来排序 例如 size . sort( ) print(size)结果为 2,11,26,27,65,87 从小到大进行排序

利用 . sort ( ) 字符串列表是通过 26 字符顺序进行排序的,但注意大写字母在小写字母之前

语句 names . sort( reverst = True ) 是将列表元素从大到小进行排序的

image-20211009091654106

列表的临时排序

列表永久排序用 . Sort( ) 这个表达式,永久排序会对原列表产生影响,故不返回值

临时排序用 sorted( ) 这个表达式,这个不会对原列表产生影响,会有返回值,产生新的列表。

image-20211009091708482

列表长度

有一个列表 names = [“张三”,“李四”,“张二麻子”]

利用 len(names) 表达式即可求出列表长度为 3

怎么求列表中元素的索引值

例如:有一个列表 names = [ “张三”,“李四”,“王二麻子”]

那么怎么求出列表元素 “李四”的索引值呢?

通过表达式 n1 = names . Index(“李四”) print(n1) 即可求出索引值为 1

怎么将两个列表合并到一起

image-20211009091732973

方法二:利用 列表1名称 . extend(列表2名称)即可合并

image-20211009091744721

利用for循环实现列表的遍历

for循环格式如下:

1
2
for  临时变量  in   变量  :
循环体

例如有一个列表 names = [“网吧”,“宾馆”,“厕所”] 利用for循环实现列表的遍历(即将所有列表元素打印一遍)

解:

1
2
for  temp  in  names  :  
print( temp )

其中temp为临时工,names列表为垃圾桶,temp要做的就是每一次循环,从names垃圾桶里面取出一件垃圾来。

image-20211009091817794

生成有规律的数字列表

例题:怎么用表达式来生成一个从10到25的有序数字列表呢?

解:通过 range(10,30)表达式可以生成 10 到 30 的有序数列,但是不是列表,那么怎么将有序数列转换成列表呢? 利用 list(range(10,30))可以将有序数列转换为有序列表

怎么调节数列增长的步长,即让数列以 2 为单位增长?

解:通过 range()语句确定第三个参数,如 range(4,10,2)的意思为,生成一个 4到 10 的数列,每次增长 2 各单位最后生成 [4, 6, 8]

image-20211009091836921

问题:将1到10的平方存储到列表中

第一种解决办法如下:

image-20211009091849581

第二种解决办法:利用求出的数值与原列表索引的数值关系

image-20211009091907653

利用索引遍历列表

首先生成列表索引的数列,然后遍历这个数列即可

image-20211009091921347

列表的最大值、最小值、求和

如由于列表 shuzi = [1,2,5,7,8,4,6,9,10] 利用 python 求出列表中的最大值与最小值和累计和

解 利用 min(shuzi ) max(shuzi ) sum(shuzi ) 可分别求出列表的最小值、最大值、累计和。

你问我答: 有数列 shuzi = [1,2,5,7,8,4,6,9,10] 那么这个语句代表什么意思呢? News = [ temp**2 for temp in News : ]

答,这个语句的意思为在列表 shuzi 的基础上重新生成一个数字列表,其中每个值对其平方处理

image-20211009091939131

复制列表的两种方法

你问我答:有一个列表,shuzi = [ 1 ,5 ,8 ,9 ,4 ,2 ,5 , 4], 那怎么用两种方法将这个列表进行复制呢?这两种方法有什么不同呢?

答:第一种方法,通过字列表的形式进行复制 new = shuzi [ : ] 注意这种方法复制的列表 改变 new 列表中的值 shuzi 列表中的元素不会发生改变。

第二种方法,通过赋值的形式对列表进行复制 即 new = shuzi 这种形式的复制 改变列表中 new 元素的值,shuzi 列表中的值也会发生改变。

image-20211009091956021

列表的合并

你问我答:有两个列表,分别问 L1 = [ “dd”,”hh”,”ll”] 与 L2 = [ “OO”,”QQ”] 那么怎么将两个列表合并为一个列表呢?

答:第一种方式,通过 L1 . extend ( L2 ) 可以将 L2 列表加到 L1 列表上

第二种方式:通过加法的形式可以将两种列表合并在一起, 如 L1 + L2 即可合并在一起。

image-20211009092009788

元组

什么是元组?

元组就是不可以改变元素的列表,表示方法为 a = (“lala”,“haha”,“hehe”) 注意元组的表示方法要用括号表示。

持续更新中……