第二章python数据类型详解

一、字符串

  1. 单引号和双引号、三引号都可以定义字符串
  2. 三引号支持输出换行
    “”"
    am Tom"""
  3. 单双引号不支持
    ‘I’
    ‘am’
    //输出I am
  4. ’ 当有三个’加一个\转译中间的//如’i’m tom ’

二、下标

又叫索引,就是编号:精确找到一串字符中的某个字符

  1. 字符串变量[n]//找字符串中的第n个数据

三、切片

是指对操作对象截取其中一部分的操作。字符串、列表、元组都可用

  1. 序列[开始位置下标:结束位置下标:步长]//注意取的数据不包括结束位置下标
  2. 不写步长默认步长为1
  3. 不写开始位置默认从0开始
  4. 不写结束表示选取到最后
  5. 都不写表示所有
  6. 如果步长为负数,从后往前
  7. -1代表最后一个数据,依此类推
  8. 如果开始结束的方向和步长方向相反不能选出数据

四、常用操作方法

  • 查找
  1. 字符串查找:查找字串在字符串中的位置或出现的次数
  2. find()找字串是否在字符串中,在返回第一个字串开始下标,不在返回-1
  3. 字符串序列.find(字串,开始位置下标,结束位置下标)
  4. index()查找和find一样不过没有找到就报错
  5. 字符串序列.count(字串,开始位置下标,结束位置下标)//找字串出现次数
  6. rfind()和find()一样不过是从右边开始找
  7. rindex()和rfind()类似
    怎么返回目标字串的所有字串????写一个循环or利用切片
  8. 字符串修改:指的就是通过函数的形式修改字符串中的数据
  9. replace()替换
    字符串序列.replace(旧字串,新字串,替换次数)
    替换次数不写代表全部替换。
    replace有返回值,需要去接受,调用不会修改值,说明字符串是不可变数据类型。
  10. split()分割,丢失分割字符,返回一个列表,但可以直接打印
    字符串序列.split(分割字符,分割次数)
  11. join()//合并列表里面的数据为一个大字符串
    连接的字符或字串.join(多字符串组成的序列)//返回一个字符串,可以直接打印输出
    调用方式字符串.函数
  12. capitalize():将字符串第一个字符转成大写,后面的字符都变成小写//
  13. title()//每个单词首字母大写
  14. lower():将字符串中大写转小写
  15. upper():小写转大写
  16. lstrip():删除字符左侧空白字符
  17. rstrip():删除字符右侧空白字符
  18. strip():删除字符串两侧空白字符
    填充:
  19. ljust():返回一个原字符串左对齐,并指定字符(默认空格)填充至对应长度的新字符
    字符串序列.ljust(长度,‘填充字符’)
    rjust()右对齐
    center()中间对齐
    判断:
  20. startswith():检查字符串是否以某个字串开头,只要开头对应就返回true
    字符串序列.startswith(字串,开始位置下标,结束位置下标)
    endswith():结尾判断
  21. isalpha():字符串至少有一个字符,所有字符都是字母返回真
  22. isdigit():如果字符串只包含数字返回true
  23. isalnum():字符串全是字符或者数字返回true
  24. isspace():如果字符串中只包含空白则返回true

五、列表//列表数据为可变类型

	列表的应用场景  
	列表的格式  
	列表的常用操作  
	列表的循环遍历  
	列表的嵌套使用  

[数据1,数据2,…]//列表可以存不同类型的数据

  • 查找
    1.下标 序列名[]
    2.index()和count()与字符串一样//count在列表调用只有一个参数
    3.len(序列名),统计序列数据个数
    4.判断某个数据是否存在
    ‘子序列’ in 序列名字//判断在返回True
    ‘子序列’ not in 序列名字//判断不在返回True
    判断账号注销
    增加:增加指定数据到列表中
    5.append()//结尾加数据
    列表序列.append(数据)
    如果追加数据是数列整个数列加入
    extend()把数据拆来加到结尾,只拆开一级
    6.insert()//指定位置插入
    序列名字.insert(位置下标,数据)

  • 删除:
    7.del 目标 or del (目标)//删除目标
    删除下标也可以
    8.序列名字.pop(下标)删除指定下标的数据,如果不指定下标,默认删除最后一个数据,pop()最后会返回删除数据
    9.序列名字.remove(‘数据’)只删除第一个数据
    10.序列名字.clear() 清空列表

  • 修改:
    11.序列名[n] = ’ 替换字符串’修改指定下标
    12.序列名字.reverse()逆序排列
    13.序列名字.sort(key = None,reverse = False)排序
    不写参数默认升序排序
    False升序,True降序

  • 复制:
    14.列表序列名.copy()
    15.为什么要复制,数据来之不易

  • 列表的循环遍历//按顺序依次访问到每一个数据
    16.while/for

  • 列表嵌套:
    17.序列名字 = [[’’,’’,’’],[’’,’’,’’],[’’,’’,’’]]
    18.列表嵌套数据查询
    序列名字[][][] //大列表小列表小小列表的下标

作业1随机分配办公室:8位老师,随机分配到三个办公室

六、元组tuple元组的数据是不能修改的

	元组的应用场景  
	定义元组  
	元组的常见操作  
  1. t1 = (数据1,数据2,数据3)//可以是不同的类型
  2. 元组里面一定要加逗号,不然()没有逗号相当于无效括号
  3. 查找 下标 index() 、count() 、len()
  4. 元组里面列表的数据可以修改(’’,[])//列表可以修改

七、字典//可变数据类型

	字典的应用场景//不支持下标无论数据如何变化只用找到对应的键值对  
	创建字典的语法  
	字典常见操作  

字典的循环遍历
1.{‘键值对1’:‘数据1’,‘键值对2’:‘数据2’}
2.创建空字典变量 = {} or 变量 = dict()


  • 1.字典序列[key]=值 key存在修改这个值,不存在增加这个值

  • 1.del(删除字典或删除字典中指定键值对)
    del 字典名字[‘键值对’] :
    2.字典名字.clear()清空字典

  • 1.字典序列[key]=值
  • 查:
    1.key值查找 字典名字[‘键值对’]
    2.get()
    字典序列.get(key,默认值)
    如果当前查找的key不存在则直接返回默认值,省略默认值则返回None
    3.keys()
    字典序列.keys()//查看字典所有的键值对,返回可迭代对象
    4.字典序列.values()//查看字典的所有值
    5.字典序列.items()//查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,数据2是value
    字典的循环遍历:
    1.遍历字典的key
    2.遍历字典的value
    3.遍历字典的元素
    for 变量1,变量2 in 字典序列.items():
    print(f’{变量1}={变量2}’)

八、集合:可变类型数据

1.创建集合使用{,},或set()
集合没有顺序,不支持下标
集合中会去除重复数据
空集合只能用set(),{}是字典
集合会自动排序

  • 增加数据
    1.增加集合名字.add(单一数据)追加单一数据
    2.updata(序列):增加的数据只能是是序列

  • 删除数据
    1.集合.remove(数据) 删除指定数据,不存在就报错
    2.集合.discard(数据)删除指定数据,不存在不会报错
    3.集合.pop()随机删除某个数据并返回该数据

  • 查找数据
    1.in
    数据 in 集合//在集合里返回true
    2.not in
    数据 not in 集合//不在集合里返回true

九、公共操作

	运算符  
	公共方法  
	容器类型转换  
	运算符

1.+ * 不支持字典
2.str1+str2相当于合并
3.list1+list2
4.tuple1+tuple2
5.str1 * 10//相当于复制10次
6.list1 * 10//
7.tuple * 10//
8.判断的序列 in 序列 //判断数据是否存在
9.not in//判断数据不存在
10.公共操作

  1. len(序列)//计算容器中元素个数
  2. del(序列名字 or 序列[n] )//删除
  3. max(序列名字)//返回容器中的元素最大值
  4. min(序列名字)//返回元素中的最小值
  5. range(start,end,step)//生成从start到end前的数字(不包括end数字),步长为step,供for循环使用
  6. enumerate(可遍历对象,start=0)//将一个可遍历的数据对象(如元组或字符串)组合为一个索引序列,同时列出数据和下标 //返回数据是元祖
  7. start参数用来设置遍历数据的下标起始值,默认为0
  8. for index,char in enumerate(list1,start = 1)
  9. 容器类型转换
    1.tuple(转换序列)//将某个序列转换成元组
    2.list(转换序列)//将某个序列转换成列表
    3.set(转换序列)//将某个序列转换成集合
    集合可以快速完成列表去重,集合不支持下标

十、推倒式

列表推导式 化简代码
1.[返回值 for xx in range()if XX %2 == 0]
多个for循环实现列表推导式等同于for循环嵌套
list

字典推导式//快速合并列表为字典,提取字典中目标数据
2.{xx1 : xx2 for …in…}
如果两个列表数据个数不同len(需要统计少的)

集合推倒式
3.{xx for xx in …}
集合有去重功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值