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 之列表及相关练习题相关推荐

  1. 20230209 Python的列表及相关操作

    一.认识列表 案例:定义变量保存一个班所有学生的分数 scores = [33, 44, 90, 100, 77, 82, 0, 93, 99, 94] 求平均分 print(sum(scores) ...

  2. Python Day5 列表及相关操作【零基础】

    Day5 列表 文章目录 Day5 列表 1. 列表的作用 1.2 普通运用 2.2 列表运用 2. 认识列表 2.1 什么是列表(list) 2.2 空列表 2.3 列表中元素的类型 2.4 列表中 ...

  3. python列表使用技巧与方法_Python列表的相关操作与方法

    Python列表的相关操作与方法 1.列表 why:int.bool.str存在缺陷 str:存储少量的数据:所有的操作获取的内容都是 str类型,存储的数据类型单一. what: 列表可以承载任意数 ...

  4. Python知识点以及相关练习题(四万余字总结)期末Python知识点总结

    Python知识点以及相关练习题 一.变量和类型 二.分支结构 三.循环结构 四.函数和模块的使用 五.字符串和常用数据结构 六.面向对象编程基础 七.面向对象进阶(含小游戏案例源码) 一.变量和类型 ...

  5. Python笔记_07_列表的相关操作_列表相关函数_深浅拷贝_字典相关函数_集合相关函数_冰冻集合

    笔记目录 列表的相关操作 列表的拼接(同元组) 列表的重复 (同元组) 列表的切片 (同元组) 列表的获取 (同元组) 列表的修改 (可切片) 列表的删除 ( 可切片 ) 列表的相关函数 append ...

  6. python小白——进阶之路——day天-———列表的相关操作以及函数

    ###列表的相关操作 #(1)列表的拼接lst1=[1,2] lst2=[3,4] listvar = lst1+lst2 print(listvar) #(2)列表的重复lst = [1,2,3] ...

  7. 【Python自动化测试14】Python自动化测试基础与进阶练习题

    文章目录 一.前言 二.Python练习题 2.1 Python基础语法规则 2.2 字符串相关练习题 2.3 列表与元组相关练习题 2.4 字典与数据类型练习题 2.5 流程控制语句练习题 2.6 ...

  8. Python取top N相关的模块:heapq模块

    Python取top N相关的模块:heapq模块 原文:[Python]Python取top N相关的模块:heapq模块_小怪孩的成长之路-CSDN博客_python 取top 最近在程序中需要取 ...

  9. python怎么读取列表-python读入列表

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 我正在尝试将文本文件的行读入python中的列表或数组. 我只需要能够单 ...

最新文章

  1. Zabbix 监控Mysql 主从状态(Python脚本)
  2. 夜间灯光数据dn值_中国区域DMSP/OLS夜间灯光影像的校正
  3. html 悬浮阴影,css实现悬浮效果的阴影的方法示例
  4. 第四章:Spring AOP
  5. Lucene系列:(9)搜索结果排序
  6. java包装项目_项目包装组织
  7. svn代码版本管理总结
  8. Linux下SVN服务器的搭建
  9. realme X50将于年前亮相:支持双模5G+120Hz刷新率屏幕
  10. Android:活动中的提示 (Tosat) 和打印信息 (Log)
  11. PHP实现微信企业付款
  12. 穿越迷宫的函数c语言,数据结构课外实践题库(26页)-原创力文档
  13. Visual Studio 2019 C++实现socket通信,添加ws2_32.lib库,新手代码
  14. 玩转A2ZS,软改A4
  15. win10打开Android模拟器后电脑重启问题
  16. java记事本统计功能_JAVA 运用流编程实现简单的记事本功能
  17. Qt下使用vs编译的库文件
  18. Classifier-Free Diffusion Guidance【论文精读加代码实战】
  19. linux系统手柄模拟器下载,Switch Amiibo模拟器(Windows|Linux PC + JoyControl + Bluetooth)...
  20. 别太在意人走茶凉 物是人非

热门文章

  1. matplotlib可视化基本散点图、在图像多个指定区域绘制方框、进行自定义色彩填充(Draw Multiple Rectangles)
  2. R语言层次聚类:通过内平方和WSS选择最优的聚类K值、可视化不同K下的BSS和WSS、通过Calinski-Harabasz指数(准则)与聚类簇个数的关系获取最优聚类簇的个数
  3. Removed k rows containing missing values
  4. R语言message函数、warning()函数和stop()函数输出程序运行健康状态信息实战
  5. 密度聚类OPTICS算法
  6. 大数据架构+Lamba+Kappa+Unifield
  7. 自然语言处理发展历程自我总结
  8. SNV分析软件/工具
  9. html5 popup,popup.js-jQuery和CSS3可互动的3D弹出窗口插件
  10. 12.多线程的实现方式、线程安全问题的产生与解决以及生产者与消费者问题