Python札记12_str、list、tuple、dictionary、set总结(更新)

本文中主要是对Python中的常用对象及操作进行总结,包含对象有:

  • 字符串str:‘ ’、“”、‘‘’ ‘’’即单引号,双引号,三引号表示,不可变的
  • 列表list,用[ ]表示,可变的
  • 元组tuple,用()表示,不可变的
  • 字典dictionary :用{key:value}键值对表示,可变的
  • 集合setset()创建或者{对象1,对象2,对象3...... }创建

字符串str

基础

字符串是Python中的一种对象类型,用str表示,单引号、双引号或者三引号括起来,其中三引号多用于函数的注释

  • 变量无类型,对象有类型
  • python用\作为转义字符
  • str()函数将整数型对象转化为字符串对象
  • input()函数输入的返回结果是字符串
  • 原始字符串:r’内容’,用r和引号括起来的就是原始字符串
  • 关于转义符号见下表:
转义字符作用
\在行尾时表示:一行未完,接下行
\反斜杠符号(行中间)
\’单引号
\b退格
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制
\xyy十六进制
基本操作
  • len():求长度
  • +:连接两个字符串
  • *:重复字符串,用于复制
  • in:判断是否在字符串中
  • max()、min():求最大或最小值
  • 格式化输出:包含%sformat()函数,前者少用,后者常用
  • format(*args, **kwargs)

常用方法
  • isalpha():判断是否全部是字母

  • split():返回结果是列表list,如果加上了括号必须指定一个分隔符

    • split(" "):空格作为分隔符,得到列表list.
    • split("?:冒号作为分隔符
    • split():不指定的话,默认空格作为分隔符
  • strip():去掉字符串左右的空格,原来的对象不变,生成新的对象

    • lstrip():去掉左边的空格
    • rstrip():去掉右边的空格
  • 大小写转换:原来的对象不变,生成新的对象

    • upper():全部转换为大写
    • lower():全部转换为小写
    • capitalize():首字母转换为大写
    • isupper():判断字母是否全部是大写
    • islower():判断是否全部是小写
    • istitle():判断是否是标题模式,即字符串中的单词的首字母是大写其他都是小写
    • title():转换成title模式,即首字母大写,其余全部小写
  • join():用于拼接字符串,是字符串的方法
    image.png

image.png

image.png


列表

Python中列表用[ ]来表示,括号里面可以是任意的对象,甚至是布尔值,也可以是多种不同的对象,列表是可变的。

看个题目:将[[1,2,3], [4,5,6,], [2,2,2]]变成[[1,4,9], [16,25,36], [4,4,4]]
image.png

  • 索引和切片

    • 索引编号左边从0开始,右边从-1开始;
    • index()函数查看对象元素的索引
    • [start:stop:step],如果不指定步长默认为1
  • 反转:生成新的值,原来的不变

    • [::-1]:通过切片反转
    • reversed()函数反转,返回可迭代对象,使用list函数转化为列表展示
  • 操作列表

    • len():求长度
    • +:连接
    • *:重复性操作,复制功能
    • in:判断是否在列表中
    • max\min:求最值
  • 修改列表

    • 通过索引直接修改:list[0] = new
    • append():末尾追加元素
    • a[len(a):] = [x]:类似append()功能

image.png

image.png

image.png

常用列表函数

  • append():在最右边追加元素;没有返回值
  • extend():将两个列表合并成一个;参数必须是可迭代的对象;没有返回值list.extend(L) = list[len(list):] = L

image.png

  • count():统计元素在列表中出现的次数;若元素不存在,不报错返回值是0
  • index(x)x是列表中的一个元素,函数查看索引编号,只能检索到元素在列表中第一次出现的位置
  • insert(i,x):指定位置插入元素,将元素x插入到索引是i的前面,必须是两个参数,原地修改,没有返回值
  • 索引值超过列表的最大值,就直接在后面进行追加一个元素。
    image.png

image.png

关于删除问题

  • remove(x):删除列表中第一次出现的x元素,没有x则报错
  • pop([i]):括号内的参数是可选的。不写,默认删除最后一个,并且将删除的值作为返回值;写上参数,删除指定索引的元素,并且将该值作为返回值。
  • 注意remove的参数是元素,pop的参数值索引

image.png

image.png

关于反转问题

  • list.reverse():将列表的元素反转过来,实现反转功能,类似[::-1];原地反转,没有返回值,,不能用于反向迭代
  • reversed(list):能够用于反向迭代
    image.png

image.png

关于排序问题

  • list.sort(key=None,reverse=True):原地修改,没有返回值,默认是从小到大排序,升序
  • sorted(list):参数是列表,类比reversed的用法
    image.png

字符串和列表比较

相同

  • 都是序列类型
  • 索引左边从0开始,右边从-1开始
  • 都可以用于切片等操作获取多个元素

不同

  • 列表是可变的字符串是不可变
  • 字符串中的元素只能是字符,列表中的元素是任意类型的数据
字符串和列表转化

字符串和列表的转化通常使用str.split()和“seq”.join(list),两者可以说是互逆运算:

  • split():
    • 根据分隔符将字符串转成列表,str---->list
    • 括号内可以指明分隔符和最大索引值,split(“+”,2):以+为分隔符,最大索引值为2,共3个元素
  • join():
    • 字符串的方法
    • split()的逆运算
    • 传入join的对象必须是统一的,比如列表中同时存在数字和字符串则不能用join

image.png

image.png


元组tuple

元组特点

  • 元组tuple用圆括号()括起来
  • 元组中的对象是任意的Python对象
  • 元组中的元素不能更改;如果想修改,可以先转成列表,修改列表中的元素,再转回元组。
  • 元组是序列,存在索引和切片
  • list()和tuple():实现元组和列表之间的转换
  • 重点:元组中只有一个元素时,最后必须带上英文逗号

image.png

image.png

元组用途

  • 元组比列表操作速度快:当需要进行遍历操作,使用元组更好
  • 对不需要修改的数据进行“写保护”,使用元组;修改的时候转成列表
  • 元组能够用于字典中的key,因为元组是不可变

字典

字典dictionaryPython常用的一种数据类型,由键值对key-value组成。

  • 键是唯一的,不能重复;值是可变,也可重复。键值对之间用:隔开。
  • 字典可以原地修改,是可变的
  • 键是不可变类型(tuple),值是任意的类型(list)

创建

  • 空字典大有用处:dict1 = { }
  • 直接创建:dict2 = {"name: “Peter”, “lang”: “python”}
  • 通过元组构建字典:dict3 = dict(([“name”, “Peter”], [“lang”, “python”]))
  • 使用fromkeys:dict4 = {}.fromkeys((“second”, “forth”), “python”)

基本操作

  • len():返回键值对的数量
  • d[key]:返回字典中的键key
  • d[key]=value:将value赋给字典中的键key
  • del d[key]:删除某个值或者说键值对

字典方法

  • dict.copy():复制,注意深浅拷贝,总结一句话:浅拷贝只复制最外层,深拷贝复制所有可变的数据类型,请参考深入理解赋值深浅拷贝
  • dict.clear():清空,变成空字典
  • dict.get(k[,d]):获取某个键中的值,如果键不存在,返回的是None
  • dict.setdefault(k[,d]):获取某个键中的值,如果键不存在,将参数中的键值对添加到字典中,与get的不同之处

image.png

image.png

  • items:同时获取k-v的值
  • keys:获取key键值
  • values:获取值value

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值