python-基础篇-字符串、列表、元祖、字典-列表

慈云数据 2024-04-09 技术支持 42 0

文章目录

      • 2.3.2列表
        • 2.3.2.1列表介绍
          • 2.3.2.1.1列表的格式
          • 2.3.2.1.2打印列表
          • 2.3.2.2列表的增删改查
            • 2.3.2.2.1列表的遍历
            • 2.3.2.2.1.1使用for循环
              • 2.3.2.2.1.2使用while循环
              • 2.3.2.2.2添加元素("增"append, extend, insert)
                • 2.3.2.2.2.1append
                • 2.3.2.2.2.2extend
                  • 2.3.2.2.2.3extend
                  • 2.3.2.2.3删除元素("删"del, pop, remove)
                    • 2.3.2.2.3.1del
                    • 2.3.2.2.3.2pop
                    • 2.3.2.2.3.3remove
                    • 2.3.2.2.4修改元素("改")
                    • 2.3.2.2.5查找元素("查"in, not in, index, count)
                    • 2.3.2.2.5.1in, not in
                      • 2.3.2.2.5.2index, count
                      • 2.3.2.2.6排序(sort, reverse)
                      • 2.3.2.3列表的嵌套
                        • 2.3.2.3.1 1. 列表嵌套
                        • 2.3.2.3.2 2. 应用
                        • 2.3.2.4列表应用

                          2.3.2列表

                          2.3.2.1列表介绍

                          可以理解为java、C语言中的数组。只是python中可以存放不同的数据类型

                          列表就是一个变量存储多个值。

                          2.3.2.1.1列表的格式

                          变量A的类型为列表

                          namesList = [‘xiaoWang’,‘xiaoZhang’,‘xiaoHua’]

                          比C语言的数组强大的地方在于列表中的元素可以是不同类型的

                          testList = [1, ‘a’]

                          2.3.2.1.2打印列表
                              namesList = ['xiaoWang','xiaoZhang','xiaoHua']
                              print(namesList[0])
                              print(namesList[1])
                              print(namesList[2])
                          结果:
                              xiaoWang
                              xiaoZhang
                              xiaoHua
                          
                          2.3.2.2列表的增删改查
                          2.3.2.2.1列表的遍历
                          2.3.2.2.1.1使用for循环

                          为了更有效率的输出列表的每个数据,可以使用循环来完成

                              namesList = ['xiaoWang','xiaoZhang','xiaoHua']
                              for name in namesList:
                                  print(name)
                          结果:
                              xiaoWang
                              xiaoZhang
                              xiaoHua
                          
                          2.3.2.2.1.2使用while循环

                          为了更有效率的输出列表的每个数据,可以使用循环来完成

                              namesList = ['xiaoWang','xiaoZhang','xiaoHua']
                              length = len(namesList)
                              i = 0
                              while i>> a = ['a', 'b', 'c', 'a', 'b']
                          >>> a.index('a', 1, 3) # 注意是左闭右开区间
                          Traceback (most recent call last):
                            File "", line 1, in 
                          ValueError: 'a' is not in list
                          >>> a.index('a', 1, 4)
                          3
                          >>> a.count('b')
                          2
                          >>> a.count('d')
                          0
                          
                          2.3.2.2.6排序(sort, reverse)

                          sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

                          reverse方法是将list逆置。

                          >>> a = [1, 4, 2, 3]
                          >>> a
                          [1, 4, 2, 3]
                          >>> a.reverse()
                          >>> a
                          [3, 2, 4, 1]
                          >>> a.sort()
                          >>> a
                          [1, 2, 3, 4]
                          >>> a.sort(reverse=True)
                          >>> a
                          [4, 3, 2, 1]
                          
                          2.3.2.3列表的嵌套
                          2.3.2.3.1 1. 列表嵌套

                          类似while循环的嵌套,列表也是支持嵌套的

                          一个列表中的元素又是一个列表,那么这就是列表的嵌套

                              schoolNames = [['北京大学','清华大学'],
                                              ['南开大学','天津大学','天津师范大学'],
                                              ['山东大学','中国海洋大学']] 
                          
                          2.3.2.3.2 2. 应用

                          一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配

                          #encoding=utf-8
                          import random
                          # 定义一个列表用来保存3个办公室
                          offices = [[],[],[]]
                          # 定义一个列表用来存储8位老师的名字
                          names = ['A','B','C','D','E','F','G','H']
                          i = 0
                          for name in names:
                              index = random.randint(0,2)    
                              offices[index].append(name)
                          i = 1
                          for tempNames in offices:
                              print('办公室%d的人数为:%d'%(i,len(tempNames)))
                              i+=1
                              for name in tempNames:
                                  print("%s"%name,end='')
                              print("\n")
                              print("-"*20)
                          

                          结果:

                          在这里插入图片描述在这里插入图片描述

                          2.3.2.4列表应用
                          # Author:csz
                          #打印功能提示区
                          print("="*50)
                          print("名字关系系统v8.6".center(30))
                          print("1. 添加一个新名字".center(30))
                          print("2. 删除一个名字".center(30))
                          print("3. 修改一个名字".center(30))
                          print("4. 查询一个名字".center(30))
                          print("5. 查询所有名字".center(30))
                          print("6. 退出")
                          print("="*50)
                          names = []
                          #编写功能执行区
                          while True:
                              # 获取用户输入的功能选择
                              num = int(input("请输入功能序号:"))
                              if num==1:
                                  name = input("请输入需要添加的名字:")
                                  names.append(name)
                                  print(names)
                              elif num==2:
                                  name = input("请输入需要删除的名字:")
                                  names.remove(name)
                              elif num==3:
                                  name = input("请输入需要修改的名字:")
                                  name_update = input("请输入修改后的名字:")
                                  names_index = names.index(name)
                                  names[ names_index] = name_update
                              elif num==4:
                                  name = input("请输入需要查询的名字的名字:")
                                  if name in names:
                                      print("找到了你要找的人!")
                                  else:
                                      print("查无此人!")
                              elif num==5:
                                  for name in names:
                                      print("%s\t"%name,end="")
                                  print("")
                              elif num==6:
                                  break
                              else:
                                  print("您输入有误,请重新输入!")
                          结果:
                          ==================================================
                                    名字关系系统v8.6          
                                    1. 添加一个新名字          
                                    2. 删除一个名字           
                                    3. 修改一个名字           
                                    4. 查询一个名字           
                                    5. 查询所有名字           
                          6. 退出
                          ==================================================
                          请输入功能序号:1
                          请输入需要添加的名字:qq
                          ['qq']
                          请输入功能序号:1
                          请输入需要添加的名字:ww
                          ['qq', 'ww']
                          请输入功能序号:1
                          请输入需要添加的名字:ee
                          ['qq', 'ww', 'ee']
                          请输入功能序号:3
                          请输入需要修改的名字:ee
                          请输入修改后的名字:rr
                          请输入功能序号:5
                          qq	ww	rr	
                          请输入功能序号:6
                          
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon