zoukankan      html  css  js  c++  java
  • 基础数据类型补充

    基础数据类型补充

    1. 字符串str

      s = "aa111aa"
      print(s.capitalize())  # 首字母大写,只有第一个字母大写
      print(s.title())       # 每个单词首字母大写,单词中间用特殊字符或中文隔开
      print(s.count("a"))    # 统计"a"出现的次数
      print(s.swapcase())    # 大小写转换
      print(s.find("a"))     # 查找"a"的第一个索引,查找不到的时候返回-1
      print(s.index("a"))    # 查找"a"的第一个索引,查找不到的时候报错
      
    2. 列表list

      li = [1,2,3,4]
      l2 = list("1234")   # 定义的一种方式
      print(li.count(1))  # 统计1出现的次数
      print(li.index(1))  # 查找1的第一个索引,查找不到就报错
      li.reverse()         # 原地反转
      li.sort(reverse=True) # 排序,默认升序,加True就降序
      
    3. 元组tuple

      tu = (1,2,3,4,5)
      tu1 = tuple("12345") # 定义的一种方式
      tu.count(1)  # 统计
      tu.index(1)  # 通过元素找索引,找不到就报错
      
    4. 字典dict

      dic = {1:"a",2:"b"}
      dic1 = dict(k=1,k1=2)  # 定义的一种方式
      dic.popitem()   # 随机删除,返回删除的值,3.6版本后默认删除最后一个键值对
      dic2 = dict.fromkeys("123",1)  # 批量创建字典,迭代key,value相同,指向同一内存地址
      
    5. 结合set

      s = set("1234")  # 定义的一种方式
      
    6. 类型转换

      str => int :字符串中必须全部都是十进制的数字
      int => str :直接转换
      str => list :
      s = "1234"
      lst = list(s) => ["1","2","3","4"]
      或用split()切割
      list => str :使用join进行拼接,元素中不能有int
      list => tuple :直接转换
      set => list :直接转换
      总结:
      字符串 -- 数字  :字符串中必须都是十进制的数字
      数字 -- 字符串  :直接转换
      列表 -- 字符串  :join()拼接--可迭代的对象中不能出现数字
      字符串 -- 列表  :split()分割
      除字典外,容器数据类型都能直接相互转换
      
    7. 总结

      有序: str,int,bool,list,tuple
      无序: dict,set
      可变: list,dict,set
      不可变: str,int,bool,tuple
      
      访问方式:
      直接访问: int,bool,set
      顺序访问:str,list,tuple
      键访问: dict
      
    8. 坑人的删除

    li = [1,2,3,4,5]
    # 面试题:要求用一个for循环对删除上述列表索引为奇数位置的元素
    for el in range(len(li)-1,-1,-1):
        if el % 2 == 1:
            li.pop(el)
    print(li)
    # 尽量不要在for循环遍历列表的同时修改列表本身的大小
    
    # for循环迭代字典过程中改变字典的大小会报错
    
  • 相关阅读:
    mysq foreign外键记录
    查询时隐藏部分身份证号
    SpringBoot接收前端参数
    RabbbitMQ安装
    @configurationProperties注解时 idea弹出 Spring Boot Annotion processor not found in classpath
    rpm,yum和apt使用详解
    python人脸识别
    Fuchsia文章汇总
    Androi O Automotive 介绍
    Linux 版本控制工具之rabbitvcs
  • 原文地址:https://www.cnblogs.com/maqian/p/11904709.html
Copyright © 2011-2022 走看看