基础数据类型补充

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

Python之路Day07的更多相关文章

  1. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  2. Python之路

    Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Pytho ...

  3. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  4. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  5. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  6. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  7. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  8. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  9. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

随机推荐

  1. Java连载87-酒店管理系统练习、哈希表、函数

    一.创建一个酒店的房间管理系统 需求:这个酒店有五层,并且1-2层是标准间,3-4层是双人间,5层是豪华间:我们需要实时的显现各个房间的使用状态,并且我们可以预定某一个房间. package com. ...

  2. mysql第五课

    修改表中一行或多行数据: SELECT*FROM student;+----+------+------+| id | name | ban  |+----+------+------+|  1 | ...

  3. maven的核心概念——聚合

    第十六章聚合 16.1 为什么要使用聚合 将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效.修改源码后也需要逐个手动进行clean操作.而使用了聚合之后就可以批量进行Maven工程的安装 ...

  4. Spring mvc拦截器防御CSRF攻击

    CSRF(具体参考百度百科) CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSR ...

  5. C#排序算法的实现---选择排序

    一.算法原理 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完. 选择排序算法的运作如下: 1.对比数组中前一个元素跟后一个元素的大小 ...

  6. Java数列循环左移

    描述 有n个整数组成一个数组(数列).现使数列中各数顺序依次向左移动k个位置,移出的数再从尾部移入.输出移动后的数列元素. 题目没有告诉你n的范围,要求不要提前定义数组的大小. 另外要求定义并使用函数 ...

  7. 百度api识别验证码登录

    import time from selenium import webdriver from aip import AipOcr def initial(): """ ...

  8. Git的学习和使用

    1.1. Git 了解git的仓库概念 熟悉何为版本控制,了解分布式版本控制(git)和集中式版本控制(svn) 能够熟练使用git的基本指令完成仓库的初始化/添加/提交/日志/回退/分支等操作 gi ...

  9. Java设计模式(二)设计模式原则

    学习Java设计模式之前,有必要先了解设计模式原则. 开闭原则 定义 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭 用抽象构建框架,用实现扩展细节 优点:提高软件系统的可复用性及可维护性 C ...

  10. JS获取标签内容的方法

    JS获取标签内容的方法 测试代码 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...