zoukankan      html  css  js  c++  java
  • Python基础—05-总结:双重循环,数据类型

    总结

    双重循环

    • 冒泡排序

      lt = [1, 5, 7, 3, 2, 4]
      
      # 计算元素的个数
      n = len(lt)
      # 外层循环控制圈数
      for i in range(n-1):
          for j in range(n-1-i):
              # 不合适,交换数据
              # 此处是升序排序,若想降序需要将 > 改为 <
              if lt[j] > lt[j+1]:
                  # 其他语言
                  # temp = lt[j]
                  # lt[j] = lt[j+1]
                  # lt[j+1] = temp
                  # python特有
                  lt[j], lt[j+1] = lt[j+1], lt[j]
      
      print(lt)
    • 选择排序(练习)

      思想:
          取出第一个元素,依次与后面的元素进行比较,不合适交换位置,直至比较结束,一轮可以确定开头一个
          每轮确定一个元素,依次向后,n个元素需要n-1轮比较
      示例:lt = [3, 5, 2, 1, 8, 4]
          第一轮:1 5 3 2 8 4
          第二轮:1 2 5 3 8 4
          第三轮:1 2 3 5 8 4

      提示:仍然使用双重循环进行解决,外层循环控制循环多少轮,内心循环控制元素比较

    数据类型

    • 集合

      添加:add
      删除:
          remove,元素存在就删除,不存在就爆粗
          discard,元素存在就删除,不存在也不保存
          pop,随机弹出一个元素,返回后删除元素
      清空:clear
      并集:union
      交集:
          intersection:不改变原集合
          intersection_update:使用交集更新原集合
      差集:
          difference:不会改变原集合
          difference_update:使用差集更新原集合
      判断:
          isdisjoint:是否没有交集
          issubset:是否是另一集合的子集
          issuperset:是否是另一集合的超集(父集)
    • 字典

      获取:
          d[key]:根据键获取值,不存在时或报错
          d.get(key, '默认值'):不存在时默认返回None,也可以指定默认值
      更新:
          d[key] = value    键存在就更新,不存在就添加
          d.update(d2)    将字典d2中的键值对依次添加到d中,已经存在的键会覆盖
      删除:
          del d[key]
          d.pop(key)        返回删除的值
      清空:clear
      所有键:keys        返回可迭代对象
      所有值:values        返回可迭代对象
    • 字符串

      join:拼接
      split:切割,从左边
      rsplit:从右边切割
      splitlines:按照换行符切割

      自行测试:

      find:查找第一次出现指定字符串的位置,没有时返回-1
      rfind:从右边开始查,返回第一次出现的位置
      
      upper:全大写
      lower:全小写
      swapcase:大小写转换
      capitalize:首字符大写
      title:每个单词首字母大写
      
      count:统计某个字符串出现的次数
      startswith:是否以指定字符串开头
      endswith:是否以指定字符串结尾
      
      istitle:是否每个单词首字母大写
      islower:是否是全小写
      isupper:是否是全大写
      isdecimal:是否是数字
      isalpha:是否是字母
      isalnum:是否是数字或字母
       
  • 相关阅读:
    为表增加列属性方法探究
    细聊冗余表数据一致性
    缓存架构设计细节二三事
    缓存与数据库一致性保证
    MySQL批量SQL插入性能优化
    Codeforces 1150
    Codeforces 1155
    Codeforces 331D
    Windows & Ubuntu Vscode 配置c++环境
    后缀数组
  • 原文地址:https://www.cnblogs.com/swjblog/p/9670964.html
Copyright © 2011-2022 走看看