Python学习记录 列表排序

1. 列表

1. 切片操作
  • 切片是Python中重要的操作,适用于列表、元组、字符串等等。

  • 切片的格式:

    • [起始偏移量start : 终止偏移量end : 步长step]
    • 不查清省略时,省略第二个冒号,默认步长为1。
  • 测试程序
    # 切片操作
    def test():
    num = [10, 20, 30, 40, 50, 60]

          print(num[1:3:1])
          print(num[1::2])
          print(num[1:4])
          print(num[-5:-1])
          print(num[::-1])  # 逆序
    
    
      # Main
      if __name__ == '__main__':
          test()
    
2. 列表的遍历
  • 循环遍历
    for obj in listObj:
    print(obj)

  • 测试程序

      # 遍历操作
      def test1():
          num = [10, 20, 30, 40, 50, 60]
          for i in num:
              print(f"{i},", end='')
    
    
      # Main
      if __name__ == '__main__':
          test1()
    
3. 列表排序
  • 修改原列

  • a.sort() 默认是升序排列

  • a.sort(reverse=True) 降序排列

  • 随机打乱 import random

  • random.shuffle(a) # 打乱程序

      # 排序函数
      def test3():
          num = [10, 20, 30, 40, 50, 60]
          for i in num:  # 遍历列表
              print(f"{i},", end='')
          print('')
          random.shuffle(num)  # 打乱数组
          for i in num:  # 遍历列表
              print(f"{i},", end='')
          print('')
          num.sort(reverse=True)
          for i in num:  # 遍历列表
              print(f"{i},", end='')
          print('')
    
    
      # Main
      if __name__ == '__main__':
          test3()
    
4. 建新列表排序
  • 可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改。

      a = [10, 20, 30, 40, 50, 60]
      a = sorted(a)  # 默认升序
      a = sorted(a, reverse=True)  # 降序排列
    
5. reverse迭代器
  • 内置函数reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象。

      a = [10, 20, 30, 40, 50, 60]
      c = a.reversed(a)
      list(c)
    
6. max 和 min
  • 返回列表中的最大值和最小值

      a = [10, 20, 30, 40, 50, 60]
      max = max(a)
      min = min(a)
    
7. sum
  • 对列表中所有元素进行求和,对非数值型列表运算则会报错。

      a = [10, 20, 30, 40, 50, 60]
      sum = sum(a)
    

1. 二维列表

  • 二维列表可以帮助我们存储二维、表格的数据。

      # 二维列表
      def test4():
          table = [
              ["PEI", 21, '北京'],
              ["XIA", 20, '北京'],
              ["XXX", 24, '北京'],
          ]
          print(table)
          # 列表的遍历
          for i in range(3):
              for j in range(3):
                  print(table[i][j], end='\t')
              print()  # 打印完一行后换行
    
    
      # Main
      if __name__ == '__main__':
          test4()
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值