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:end: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
  • pop(k[,d])
    以键为参数,删除指定的键值对,并且参数不能省略;如果要删除的字典中的键不存在,就会报错。

  • popitem()
    随机删除键值对,返回的是就是键值对,元组的形式


  • update()
    更新字典,参数可以是字典或者其他可迭代的对象


    image.png

集合set

创建方法

  • 通过set()创建
  • 通过{}通过创建,和字典的{}相同,避免歧义
  • 创建空集合,必须用set()方法
image.png

操作方法

  • add()和update()


    image.png

  • pop()和remove()
  1. 每次随机删除一个元素,并且返回删除的值pop()中不能带有参数

    image.png

  2. remove删除的元素必须是set集合中的,否则报错;没有返回值

    image.png

  • discard()和clear()
  1. discard():删除的元素如果在集合中,就执行操作;元素若不在集合中,不执行任何操作,与remove的不同(报错);没有返回值


    image.png

    image.png

4.clear():清空集合中的元素


image.png

5.frozenset():创建不变的集合
创建的集合是不可变的,可哈希的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,099评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,828评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,540评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,848评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,971评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,132评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,193评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,934评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,376评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,687评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,846评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,537评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,175评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,887评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,134评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,674评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,741评论 2 351