Python之路Day07

基础数据类型补充

str
  • s.capitalize() -- 首字母大写
  • s.title() -- 每个单词首字母大写
  • s.swapcase() -- 大小写转换
  • s.center() -- 居中/填充
    • s.center(20,'*')
  • s.find() -- 通过元素查找索引,查找不到时返回-1
    • s.index() -- 通过元素查找索引,查找不到时报错
  • s.join() --
    • print('_'.join(['1','2','3'])) 拼接,将列表转换成字符串
  • str+str
  • str*5
    • 字符串加,乘都是开辟新空间
list
  • 列表定义

    • print(list('12345'))
  • 列表方法

    • lst=[1,2,3,4,5,7,8]
    • print(lst.index(4)) -- 通过元素查找索引
    • lst.sort() -- 排序,默认升序
    • lst.sort(reverse=True) -- 降序
    • lst.reverse() -- 反转
    • lst[::-1] -- 切片反转不修改原数据
  • 列表的加

    • lst=[1,2,3,4]
      lst=lst+[1,2,3]
      print(lst)
  • 列表的乘

    • lst=[1,2,3]*5
      print(lst)
      print(id(lst[0]),id(lst[3]))
    • lst=[1,[]]*5
      print(lst)
      lst[1].append(6)
      print(lst)
      • 面试题:列表乘法时,元素是共用的
tuple
  • tu=(1,)

  • 元组的加

    • tu=(1,2,3)+(1,2,3)
      print(tu)
  • 元组的乘

    • tu=(1,[])*3
      print(tu)
      tu[-1].append(10)
      print(tu)
dict
  • dic={'key':1,'key1':2,'key2':3}
    print(dic.popitem())   #随机删除   python3.6版删除最后一个键值对
    • popitem返回的是被删除的键值对
  • dic={}
    dic.fromkeys('abc',[])   #批量创建键值对'a':[],'b':[],'c':[]
    print(dic)      #面试题
    • dic={}
      dic=dic.fromkeys('abc',[])
      print(dic)
      dic['b']=11
      dic['a'].append(10)
      print(dic)
    • fromkeys 第一个参数必须是可迭代对象,会将可迭代对象进行迭代,成为字典的键,第二个参数是值(这个值是共用的

    • fromkeys 共用的值是可变数据类型就会有坑(有一个键值对进行修改,其他键值对都跟着修改),不可变数据类型就没事

基础数据类型总结

可变不可变
  • 可变:list、dict、set
  • 不可变:int、str、bool、tuple
有序无序
  • 有序:list、tuple、str
  • 无序:dict、set
取值方式
  • 索引
  • 直接
数据类型转换
  • 重要
    • str -- list
    • list -- str

重点

  • find
  • join
  • 列表乘法
  • 元组(1,)
  • 元组乘法
  • list -- str
  • str -- list

以后会遇到的坑

列表
  • lst=[1,2,3]
    for i in lst:
        lst.append[4]
    print(lst)       #死循环
    
  • lst=[11,22,33,44]
    for i in lst:
        lst.remove(i)
    print(lst)      #列表的自动补位
    
  • 使用for循环清空列表元素内容:

    • 从后向前删除
    • 创建一个新的容器,循环新的容器删除旧的容器内容
  • lst=[1,[2]]
    lst[1]=lst
    print(lst)
    结果:[1,[...]]   #面试题
    
字典与集合
  • 字典和集合在遍历时(循环)不能修改原来的大小(字典的长度),可以修改值

二次编码

  • 字节:存储和传输
  • s.encode() -- 编码
  • s.decode() -- 解码
  • 必会
    • python 2 中默认编码ASCII,不支持中文
    • python 3 中默认编码Unicode

猜你喜欢

转载自www.cnblogs.com/zlx960303/p/11913972.html
今日推荐