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

列表常用函数或方法(增删改升降反转)、列表应用实例(模拟用户登录系统、班级成绩排序、元素移位等)

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

列表常用函数或方法(增删改升降反转)、列表应用实例(模拟用户登录系统、班级成绩排序、元素移位等)

Python 基础之列表


文章目录
  • 一、 序列类型
    • 序列类型的通用操作符和函数(12个)
  • 二、列表(list)
    • 列表常用函数或方法
      • 列表增加
      • 列表删除
      • 列表更新/更改
      • 列表升序/降序
  • 三、列表应用实例
    • 模拟用户登录系统
    • 班级成绩排序
    • 元素移位


一、 序列类型

序列类型是一维元素向量,元素之间存在先后顺序的关系,通过序号访问。

字符串(str)、元组(tuple)、列表(list)都属于序列类型

序列类型的通用操作符和函数(12个)
操作符描述
x in s如果x是s的元素,返回Ture,否则返回False
x not in s如果x不是是s的元素,返回Ture,否则返回False
s+t连接s和t
n*s将序列s复制n次
s[i]索引,返回序列的第i个元素
s[i:j]分片,返回包含序列s的第i到第j个元素的子序列(不包含第j个元素)
s[i:j:k]步骤分片,返回包含序列s第i到第j个元素以k为步数的子序列
len(s)序列s的元素个数(长度)
min(s)序列s中的最小元素
max(s)序列s中的最大元素
s.index(x[,i[,j]])序列s中从i开始到j位置中第一次数显元素x的位置
s.count(x)序列s中出现x的总次数
二、列表(list)

列表(list)是包含0个或多个对象应用的有序序列,属于序列类型,列表的长度和内容都是可变的,可以自由对列表的数据项进行增删改查替换等,列表的长度没有限制,元素类型可以不同,使用非常灵活。
列表用中括号[]表示,也可以通过list()函数将元组或字符串转化成列表,直接使用list()函数会返回一个空列表。

x=["张三","李四",["hello",1,2],3,4]
print(x[2])
print(x[2][0])
print(x[2][0][1]) #列表数据操作类似数组操作
print(list("张三李四")) #将字符串转化成列表
print(list()) #返回空列表
x[0]="python" #列表数据赋值
print(x)
-----------------------------------------------------
输出结果:
['hello', 1, 2]
hello
e
['张', '三', '李', '四']
[]
['python', '李四', ['hello', 1, 2], 3, 4]
列表常用函数或方法

列表增加
函数或方法描述
ls.extend(lt)将列表lt元素增加到列表ls中,即将其他列表中的完整内容,追加到当前列表的末尾
ls.append(x)将列表ls最后增加一个元素x,即列表末尾追加数据
ls.insert(i,x)将列表ls的第i位置增加元素x,即在列表的指定索引位置插入数据
x=["张三","李四",["hello",1,2],3,4]
print(x)
x.append("apple") #在末尾处增加"apple"元素
print(x)
x.insert(1,"apple") #在索引位置1处,增加“apple”元素
print(x)
y=[1,5.20,13.14]
x.extend(y) # 在末尾处增加另外一个列表内容
print(x)
----------------------------------------------------
输出结果:
['张三', '李四', ['hello', 1, 2], 3, 4]
['张三', '李四', ['hello', 1, 2], 3, 4, 'apple']
['张三', 'apple', '李四', ['hello', 1, 2], 3, 4, 'apple']
['张三', 'apple', '李四', ['hello', 1, 2], 3, 4, 'apple', 1, 5.2, 13.14]
列表删除
函数或方法描述
ls.clear()删除ls所有元素,即清空整个列表
ls.pop()删除列表中最后一个元素
ls.pop(i)将列表ls中的第i项元素去除并删除该元素,即删除指定索引的数据
ls.remove(x)删除列表中出现的第一个指定元素x
del ls[i:j]删除列表ls第i到第j项数据,等价于ls[i:j]=[]
x=["张三","李四",["hello",1,2],"李四",4,5]
print(x)
x.pop() #删除列表末尾最后一个元素
print(x)
x.pop(0) #删除指定索引位置的元素
print(x)
del x[1:3] # 删除指定索引位置的子元素
print(x)
x.remove("李四") #删除第一次出现的指定元素
print(x)
x.clear() #清除整个列表,变成空列表
print(x)
-------------------------------------------
输出结果:
['张三', '李四', ['hello', 1, 2], '李四', 4, 5]
['张三', '李四', ['hello', 1, 2], '李四', 4]
['李四', ['hello', 1, 2], '李四', 4]
['李四', 4]
[4]
[]

del 关键字本质上是用来将一个变量从内存中删除
注意:如果使用del关键字将变量从内存中删除,后续的代码就不能再使用这个变量了

列表更新/更改
函数或方法描述
ls[i]=x替换列表ls第i项元素为x
ls[i:j]=lt用列表lt替换列表ls中第i到第j项数据(不含第j项)
ls[i:j:k]=lt用列表lt替换列表ls中第i到第j项以k为步数的数据
x=["张三","李四",["hello",1,2],3,4]
x[0]="python" #列表数据赋值
print(x)
-----------------------------------------------------
输出结果:
['python', '李四', ['hello', 1, 2], 3, 4]
列表升序/降序
函数或方法描述
ls.sort()按从小到大升序
ls.sort(severse=True)按从大到小降序
ls.reverse()将列表ls中的元素反转
x=[1,4,3,5,10,7]
x.reverse() #反转
print(x)
x.sort() #升序
print(x)
x.sort(reverse=True) #降序
print(x)
----------------------------------------
输出结果:
[7, 10, 5, 3, 4, 1]
[1, 3, 4, 5, 7, 10]
[10, 7, 5, 4, 3, 1]
三、列表应用实例 模拟用户登录系统

实现如下功能:
(1)系统数据库里面有用户和密码。
例如users = [‘redhat’,‘root’] passwds = [‘123’,‘456’]
(2)用户只有3次机会登陆(判断用户登陆是否成功)

user=["radhat","root"]
password=["123","456"]
for i in range(3):
    u=input("请输入用户名:")
    if u==user[0]or u==user[1]:
        p=input("请输入密码")
        if (p==password[0] and u==user[0]) or (p==password[1] and u==user[1]):
            print("登录成功")
            break
        else:
            print("密码错误")
    else:
        print("用户名错误")
else:
    print("3次机会已用完,请重新再试")
------------------------------------------------------------------------------
请输入用户名:radhat
请输入密码abc
密码错误
请输入用户名:radhat
请输入密码456
密码错误
请输入用户名:rathat
用户名错误
3次机会已用完,请重新再试
班级成绩排序

产生一个列表,其中有40个元素,每个元素是50到100的一个随机数,如果这个列表中的数据代表着某个班级40人的分数,请计算成绩低于平均分的学生人数,对前面的列表元素做降序排序。
(1)产生一个列表,随机40个元素
(2)统计低于平均分的学生人数
(3)将成绩降序排序

import random
score=[]
count=0
for i in range(40):
    score.append(random.randint(50,100)) #产生40个随机元素,逐个追加到列表的后面
for j in score:
    if j 
元素移位 

有一个列表,其中包括10个元素,这些元素是10-100之间随机数,要求将这个列表中的每一个元素一次向前移动一个位置,第一个元素移到列表的后面,输出这样的列表

import random
ls=[]
for i in range(10):
    ls.append(random.randint(10,100))
print("原来的列表:{}".format(ls))
a=ls.pop(0)
ls.append(a)
print("移位后的列表:{}".format(ls))
-----------------------------------------------------------------
输出结果:
原来的列表:[72, 38, 67, 44, 15, 14, 25, 71, 54, 27]
移位后的列表:[38, 67, 44, 15, 14, 25, 71, 54, 27, 72]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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