Python数据类型及相关操作

Python数据类型及相关操作

字符串

文本表示

  • 单引号、双引号或者三引号都可以,三引号内的字符串可以出现换行符。
  • 转义字符,用‘/’表示,比如/‘表示’。
  • 字符分编号
    • 正序排从0开始,表示第一个字符。
    • 倒叙排-1,-2表示倒数第一个、倒数第二个字符。
    • 用这种编号可以提取出字符串中想要的字符。

字符串常见操作(字符串是一种序列)

  • 获取字符串长度:len(str)
  • 切片操作 slice:str【start:end:step】start和end 有区别,start是闭区间,end是开区间。end所指示的值取不到。步长为-1为倒着取字符。
  • 加法和乘法:组合和重复字符串
  • 判断两个字符是否相等(==)
  • 判断字符串中是否包含某个子串 (in)
  • 删除空格:
    • str.strip:去掉字符串前后空格,内部不受影响。
    • str.lstrip:去掉左边的所有空格
    • str.rstrip:右边的空格全部删除
  • 判断字母数字
    • str.isalpha:字符串是否全部是字母构成
    • str.isdigit:字符串是否全部是数字构成
    • str.isalnum:是否仅是数字和字母构成,不包含特殊字符
  • 分割和合并
    • 分割split:‘you are my sunshine’.split(’ ')
      [‘you’,‘are’,‘my’,‘sunshine’]
    • ‘-’.jion([‘one’, ‘for’, ‘two’])
      ‘one-for-two’
  • 大小写相关:upper/lower/swapcase ‘abc’.upper
  • 左右对齐、居中:ljust/rjust/center
  • 替换字符:repalce

变量和引用

python中变量可以随时指向任意一个数据对象,变量的值和类型都可以发生改变。

  • 合并赋值: a=b=3
  • 按顺序赋值: a,b=5,6

容器类型

列表和元组

  • 列表:列表可以删除、添加、替换、重排序列中的元素(可变类型)
  • 元组:不能更新的序列(不可变)提高处理性能
  • 创建列表:[]或者指明类型list();
  • 创建元组:()或者指明类型tuple();
    列表和元组中保存的各个数据叫做元素,类型没有限制,像一个收纳盒。
  • 列表的操作
    • 增长列表:
      append:在列表最后加一个元素
      insert:在指定位置插入
      extend:将另一个列表加入一个列表之后,改变了原列表或元组
    • 缩减列表:
      pop:根据序号移除,pop()移除最后一个,pop(0)移走第一个元素,并返回其值。
      remove:根据值移除,remove(‘abc’)
      clear:将所有元素移除
    • reverse:头尾反转重排,在原列表上操作。num.reverse();执行完后,num列表内改变。
    • sort:按照值的大小排序,在原列表上操作。
    • reversed/sorted: num.reversed();执行完后,num列表内不改变。
    • index(item):找到item首次出现的位置。
    • count(a):返回出现a的次数
    • 加法和乘法:链接两个列表/元组,生成一个新的容器。
    • 序列的操作等,如切片、in操作、index、count
    • 索引: alist[n]
    • sum()操作
    • min/max操作

字典

总的理解:带有标签的收纳盒,可以通过标签(key)来索引值(value)。

  • 创建一个字典:花括号{},或者指明类型dict();

  • 数据项item,包括key和value;

  • 批量添加数据项:student=dict.fromkeys((“name”,“age”)),也可以带入values,暂略。

  • 字典是可变类型,可以添加、删除、替换元素。

  • 增长字典:合并和关联

    • update方法:如果原字典没有该key,则添加该key和对应的value,如果有key,则该key对应的value更新为新的值。
      合并和关联操作
  • 缩减字典

    • del操作:删除指定标签的数据项

    • pop操作:删除指定标签的数据项并返回数据值

    • popitem:删除并返回任意一个数据项

    • clear:清空字典

  • 标签索引

  • 获取字典的标签、数据值和数据项

    • keys函数:返回字典中的所有标签

    • values函数:返回字典中的所有数据值

    • items函数:将每个数据项表示为二元组,返回所有的数据项

  • in操作


集合

总的理解:标签的容器或者说是”标签袋“,通过改造字典类型,去掉关联的数据值,只留下标签的容器类型。
集合是不重复元素的无序组合。集合是可变类型。

  • 创建集合:{}或者set()

    • set()可以创建空集
    • 可以用set()从其他序列转换成集合
    • 集合会自动忽略重复数据
    • 集合中不可加入可变类型数据,因为他是标签的容器。
  • 增长集合

    • add:添加一个数据

    • update:批量田间数据

  • 缩减集合

    • remove/discard:删除指定元素,当删除不存在数据时,discard不会报错
    • pop:同上
    • clear:同上
  • 生成新的集合的方法

  • 关系的判定

    • 交集判断:isdisjoint():两集合交集是否为空。

    • 用<,<=,>,>=来判断子集,超集。

  • 什么时候用集合

    • 快速去重复的数据项
    • 集合的in判断比其他容器类型快很多

可变类型与不可变类型

不可变类型包括:整数、浮点数、复数、字符串、逻辑值、元组
可变类型:列表、字典、集合。字典和集合都是无序的。只有列表可以排序。
灵活性的强大必然要牺牲一些计算和存储性能。

  • 可变类型的引用要十分注意一点
    可变类型的变量操作需要注意,多个变量通过赋值引用同一个可变类型对象时,通过其中任何一个变量改变了可变类型对象,其它变量也随之改变,使用id(变量名)可以查看变量在内存中的地址。


建立复杂的数据结构

举例:poi={(100,100):”bus stop“},字典的key是不可变类型包括元组
poi[(100,100)]=“bus stop”


输入与输出

  • input函数:input(prompt),prompt是显示给用户的提示信息,返回值是字符串

  • print函数与格式化输出:

  • input函数:input(prompt),prompt是显示给用户的提示信息,返回值是字符串

  • print函数与格式化输出:

    [外链图片转存中…(img-6XFZeHeD-1694939589882)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值