栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 第三课:数据结构 列表

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 第三课:数据结构 列表

python的数据结构类型:

1)字符型

2)字典

3)列表

4)元组

一、序列

序列:

1)是python中的一类数据类型,比如字符串、列表

2)序列类型的对象是可以进行循环便利

1.1序列特性

1)索引:指的就是在序列中找到指定的元素的哪个编号

2)切片:指的是从序列中提取一部分内容

3)加法:序列对象可以将多个序列合并成一个

4)乘法:可以将序列通过乘法输出多个相同的

1.2序列操作

1)索引的操作

格式:

案例:

2)切片操作

格式:

案例:

3)加法操作:

格式:

新的变量=变量1+变量2

案例:

案例:让用户随意输入内容,实现用户输入的内容始终在框内,而且居中

 呈现这样的结果

答案:

4)乘法

格式:列表名*数字

案例:

5)成员资格

1)判断元素是否在序列当中

2)in/not in 

3)返回的是布尔值:真 假

案例:判断用户输入的内容中是否有c,如果有,就是提示有c,并终止程序,如果没有,就提示无c,并要求用户重新输入,而且最多输入3次,使用两种方法实现

答案1:

 答案2:

答案3: 

二、列表

1)列表也是序列的一种

2)列表支持序列的所有的基础操作:加法、乘法、成员关系、切片、索引

2.1列表基础

定义列表

案例

 注意:列表的元素可以是多种类型

1)数字

2)字符型

3)列表

案例:

列表是可变类型

1)所以可以 原地修改列表中的元素的值

案例:

数据类型互相转换

1)int() 将字符串类型修改为整型

2)float() 将对象转换为浮点数

3)list() 将对象转换成列表

4)join() 将列表中的元素转换【拼接】成一个字符串

案例 :将字符串转换为列表

join的格式

案例:让用户输入1-9的数字,输出的结果是 1+2+3+4+5+6+7+8+9【注意不是求和】

补充知识:

s = ""   定义一个空字符串
s = 0    定义一个空数字
s = []   定义一个空列表

2.2列表操作

索引

案例

赋值

案例:

 删除元素

1)删除单个元素

2)删除多个元素

案例:

切片

格式:

1) 正向切片:步长是正数,从左向右截取数据

2)反向切片:步长是负数,从右向左截取数据

案例:

 替换操作

1)替换一个元素,方法同前面讲到的赋值操作

2)替换多个元素,

案例

 2.3列表的方法

格式:列表名.方法()

列表中添加元素

1)+

2)extend:在列表的末尾添加内容

3)append:在列表的末尾添加内容

4)insert:在列表的指定的位置添加内容

案例:让用户输入内容,将用户的输入组合成一个列表,直到用户输入q终止输入,并退出【用5方式】

li =[]
while True:
    userInpurt=input("请输入一些内容:")
    if userInpurt =="q":
        print("有q")
        break
    li.append(userInpurt)
print(li)

案例:生成一个1-100的列表

# 方法1:手动输入100个数字

# 方法2:循环生成100个数字 - for 版
for num in range(1,101):
    print(num)
# 方法3:循环生成100个数字 - while 版
n=0
li=[]
while n<100:
    n+=1
    li.append(n)
print(li)
# 方法4:用extend结合range
li1 = []
li1.extend(range(1,101))
print(li1)

定义空类型的对象

1)空字符串: str = ""

2)空列表:str = []

方法2:获取列表的元素个数

格式:

1)len(列表名)

方法3:计算元素出现次数

格式:

1)列表名.count(元素)

案例:让 用户输入一些内容,判断qq一共出现了几次?

方法1
li=[]
n=1
while True:
    userInput=input("请输入一下内容:")
    if userInput=="n":
        break
    li.append(userInput)
    n += 1
    num=li.count("qq")

print(num)

方法2
list1 = []
while True:
    userinput =input("输入").strip().lower()
    if userinput == "n":
        break
    else:
         list1.append(userinput)
print(list1)
print(list1.count("qq"))

方法4:找目标元素的索引

格式:

1)列表名.index(元素)

     如果找到了目标元素,那么会得到他的索引值

     如果没有目标元素,那么会抛出异常【报错】

案例:将列表 li = ["ab","c","d1","c","bb","p"] 中的 d1 修改为d10【两种方式实现】

方法1
li  = ["ab","c","d1","c","bb","p"]
li[2] = "d10"
print(li)
方法2
li  = ["ab","c","d1","c","bb","p"]
num=li.index("d1")
li[num]="d10"
print(li)

方法5:删除列表元素

1)del

 格式:del 列表名[索引]

2)remove

格式:列表名.remove(元素)

3)pop: 每次执行pop方法,可以从列表中取出最后一个元素

格式:列表名.pop()

案例:删除li中的第三个元素

 案例:删除li中的c

案例:逐一打印输出列表中的元素【至少两种方法实现】  

 删除

1)del 列表名[0]:删除列表的第一个元素

2)del 列表名:删除列表对象

3)del 列表名[:] 删除列表中的所有元素,列表变成空列表

方法6:列表元素顺序翻转

格式:

1)列表.reverse()

方法7:字符串翻转

格式

1)reversed(字符串)

2)注意:

        转换后的结果是一个python对象,必须借助于list方法转换成列表,此时才可以进行显示

案例:将li中的内容逆序显示

案例:将字符串abc123转换为321cba

方法8:列表元素排序

格式:

1)列表名.sort()

           sort中的参数

                      reverse=True 实现逆序排序

案例:li1 = [3,2,1,7,6,4,5] 实现正序和逆序排序

 注意:复制列表对象的方法

1)新列表=旧列表[:]

案例:将li1的值复制给li2,然后修改li2的最后一个值

案例:实现按照列表元素长度排序

方法9:列表推导式

格式

案例:用列表推导式的方法输出1-10

案例:用列表推导式的方法输出1-10的平方

案例:用列表推导式的方法输出1-10之间的偶数

 

补充:  

1)max(列表名)

2)min(列表名)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767166.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号