Python 之列表及相关练习题
1.列表
列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。
列表中的项目应该包括在方括号[ ]中,这样Python就知道你是指明一个列表。一旦你创建了一个列表,就可以添加、删除,或者是搜索列表中的项目。由于你可以增加或者删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的,且列表是可以嵌套的。
(1)创建列表
a = [] ##定义一个空列表
print(a)
[]print(type(a))
<class 'list'> ##输出类型为列表a = [1,2,3,4,5,6,7]
print(a)
[1, 2, 3, 4, 5, 6, 7]
列表里可以存储不同的数据类型
li = [1,1.2,'hello',True]
列表嵌套
li1 = [1,1.2,'hello',True,[1,2,3,4,5]]
(2)列表的特性
定义一个列表:
service = ['http','ssh','ftp','dns']
索引
print(service[0]) ##索引列表的第一个元素print(service[-1]) ##索引列表中的最后一个元素
切片
print(service[1:]) ##输出列表中除了第一个元素的值print(service[:-1]) ##输出列表中除了最后一个元素的值print(service[::-1]) ##将列表的成员倒序输出
重复
print(service * 3) ##将列表里的所有成员输出三次
连接
service1 = ['mysql','firewalld']print(service + service1)
成员操作符
print('mysql' in service1)print('mysql' not in service1) ##返回一个布尔值:Ture/False
迭代
for se in service:print(se)
列表里嵌套列表
service2 = [['http',80],['ssh',22],['ftp',21]]
索引列表里的列表
print(service2[0][1])print(service2[-1][1])
对列表里的列表切片
print(service2[:][1])print(service2[:-1][0])print(service2[0][:-1])
(3)添加列表元素
定义一个列表:
service = ['http','ssh','ftp','dns']
append:追加 追加一个元素到列表中
service.append('firewalld')
extend:拉伸 追加多个元素到列表中
service.extend(['mysql','firewalld'])
insert:在指定索引位置插入元素
service.insert(1,'samba')
(4)删除列表元素
定义一个数组:
service = ['http','ssh','ftp','dns']
pop:该方法默认弹出列表的最后一个元素;这个方法还可以灵活运用,当为它加上一个索引值作为默认参数的时候,它会弹出这个索引值对应的元素
service.pop()service.pop(2)
remove:使用该方法删除元素,你并不需要知道这个元素在列表中的具体位置,只需要知道该元素存在列表中就可以了。如果要删除的东西根本不在列表中,程序就会报错
service.remove('ssh')
- del:注意,del是一个语句,不是一个列表的方法,所以不必在它后面加上小括号()。如果你想删除整个列表,还可以直接用del加列表名删除(从内存中删除列表)
(5)列表的修改
方法一:通过索引,重新赋值
service[0] = 'mysql'print(service)
方法二:通过切片进行修改
print(service[:2])service[:2] = ['samba','nfs']print(service)
(6)列表的查看
查看指定元素出现的次数
service = ['ftp','ssh','ftp','dns']print(service.count('ftp'))print(service.count('dns'))
查看指定元素的索引值(可以指定索引范围查看)
print(service.index('ssh'))print(service.index('ftp',1,4))
(7)列表元素的排序
创建以下列表:
s = [1,3,5,7,9,2,4,6,8]
观察两种排序方法的区别:
- 将原有的列表顺序打乱
2.列表相关练习题
练习题1:
代码演示
users = ['root','westos']passwords = ['123','456']#尝试登录次数trycount = 0while trycount < 3:inuser = input('用户名: ')inpassword = input('密码: ')trycount += 1if inuser in users:index = users.index(inuser)password = passwords[index]if inpassword == password:print('%s登录成功' %(inuser))breakelse:print('%s登录失败 : 密码错误' %inuser)else:print('用户%s不存在' %inuser)else:print('尝试超过三次,请稍后再试')
练习题2:
adminname = 'admin'
adminpasswd = 'admin'
users = ['root','westos']
passwds = ['123','456']
print('管理员登陆'.center(50,'*'))for i in range(3):uname = input('Username= ')upasswd = input('Password= ')if uname == adminname and upasswd == adminpasswd:print('登陆成功'.center(50,'*'))while True:print('管理目录'.center(50, '*'))print("""1.添加会员信息2.删除会员信息3.查看会员信息4.退出""")choice = input('请输入您的选择: ')if choice == '1':print('添加会员信息'.center(50, '*'))aname = input('添加帐号: ')if aname in users:print('用户%s已经存在' %(aname))else:apasswd = input('添加密码: ')users.append(aname)passwds.append(apasswd)print('用户%s添加成功' %(aname))elif choice == '2':print('删除会员信息'.center(50, '*'))dname = input('删除帐号: ')if dname in users:num = users.index(dname)dpasswd =passwds[num]users.remove(dname)passwds.remove(dpasswd)print('用户%s删除成功' %(dname))else:print('用户%s不存在' %(dname))elif choice == '3':print('查看会员信息'.center(50, '*'))print('\t用户名\t密码')usercount = len(users)for usernum in range(usercount):print('\t%s \t%s' %(users[usernum],passwds[usernum]))elif choice == '4':exit()else:print('请输入正确的序号!!')else:print('管理员登陆失败')i = i + 1j = 3 - iprint('您剩余登陆次数为%s' %(j))
else:print('登陆失败,请您稍后再试')
练习题3:
写一段小程序模仿栈的工作原理
入栈(先入后出,后入先出)出栈查看栈顶元素查看栈的长度判断栈是否为空退出程序
代码:
略 ????
Python 之列表及相关练习题相关推荐
- 20230209 Python的列表及相关操作
一.认识列表 案例:定义变量保存一个班所有学生的分数 scores = [33, 44, 90, 100, 77, 82, 0, 93, 99, 94] 求平均分 print(sum(scores) ...
- Python Day5 列表及相关操作【零基础】
Day5 列表 文章目录 Day5 列表 1. 列表的作用 1.2 普通运用 2.2 列表运用 2. 认识列表 2.1 什么是列表(list) 2.2 空列表 2.3 列表中元素的类型 2.4 列表中 ...
- python列表使用技巧与方法_Python列表的相关操作与方法
Python列表的相关操作与方法 1.列表 why:int.bool.str存在缺陷 str:存储少量的数据:所有的操作获取的内容都是 str类型,存储的数据类型单一. what: 列表可以承载任意数 ...
- Python知识点以及相关练习题(四万余字总结)期末Python知识点总结
Python知识点以及相关练习题 一.变量和类型 二.分支结构 三.循环结构 四.函数和模块的使用 五.字符串和常用数据结构 六.面向对象编程基础 七.面向对象进阶(含小游戏案例源码) 一.变量和类型 ...
- Python笔记_07_列表的相关操作_列表相关函数_深浅拷贝_字典相关函数_集合相关函数_冰冻集合
笔记目录 列表的相关操作 列表的拼接(同元组) 列表的重复 (同元组) 列表的切片 (同元组) 列表的获取 (同元组) 列表的修改 (可切片) 列表的删除 ( 可切片 ) 列表的相关函数 append ...
- python小白——进阶之路——day天-———列表的相关操作以及函数
###列表的相关操作 #(1)列表的拼接lst1=[1,2] lst2=[3,4] listvar = lst1+lst2 print(listvar) #(2)列表的重复lst = [1,2,3] ...
- 【Python自动化测试14】Python自动化测试基础与进阶练习题
文章目录 一.前言 二.Python练习题 2.1 Python基础语法规则 2.2 字符串相关练习题 2.3 列表与元组相关练习题 2.4 字典与数据类型练习题 2.5 流程控制语句练习题 2.6 ...
- Python取top N相关的模块:heapq模块
Python取top N相关的模块:heapq模块 原文:[Python]Python取top N相关的模块:heapq模块_小怪孩的成长之路-CSDN博客_python 取top 最近在程序中需要取 ...
- python怎么读取列表-python读入列表
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 我正在尝试将文本文件的行读入python中的列表或数组. 我只需要能够单 ...
最新文章
- Zabbix 监控Mysql 主从状态(Python脚本)
- 夜间灯光数据dn值_中国区域DMSP/OLS夜间灯光影像的校正
- html 悬浮阴影,css实现悬浮效果的阴影的方法示例
- 第四章:Spring AOP
- Lucene系列:(9)搜索结果排序
- java包装项目_项目包装组织
- svn代码版本管理总结
- Linux下SVN服务器的搭建
- realme X50将于年前亮相:支持双模5G+120Hz刷新率屏幕
- Android:活动中的提示 (Tosat) 和打印信息 (Log)
- PHP实现微信企业付款
- 穿越迷宫的函数c语言,数据结构课外实践题库(26页)-原创力文档
- Visual Studio 2019 C++实现socket通信,添加ws2_32.lib库,新手代码
- 玩转A2ZS,软改A4
- win10打开Android模拟器后电脑重启问题
- java记事本统计功能_JAVA 运用流编程实现简单的记事本功能
- Qt下使用vs编译的库文件
- Classifier-Free Diffusion Guidance【论文精读加代码实战】
- linux系统手柄模拟器下载,Switch Amiibo模拟器(Windows|Linux PC + JoyControl + Bluetooth)...
- 别太在意人走茶凉 物是人非
热门文章
- matplotlib可视化基本散点图、在图像多个指定区域绘制方框、进行自定义色彩填充(Draw Multiple Rectangles)
- R语言层次聚类:通过内平方和WSS选择最优的聚类K值、可视化不同K下的BSS和WSS、通过Calinski-Harabasz指数(准则)与聚类簇个数的关系获取最优聚类簇的个数
- Removed k rows containing missing values
- R语言message函数、warning()函数和stop()函数输出程序运行健康状态信息实战
- 密度聚类OPTICS算法
- 大数据架构+Lamba+Kappa+Unifield
- 自然语言处理发展历程自我总结
- SNV分析软件/工具
- html5 popup,popup.js-jQuery和CSS3可互动的3D弹出窗口插件
- 12.多线程的实现方式、线程安全问题的产生与解决以及生产者与消费者问题