当前位置: 首页 > news >正文

【Python教程】4-字符串、列表、字典、元组与集合操作

在整理自己的笔记的时候发现了当年学习python时候整理的笔记,稍微整理一下,分享出来,方便记录和查看吧。个人觉得如果想简单了解一名语言或者技术,最简单的方式就是通过菜鸟教程去学习一下。今后会从python开始重新更新,然后更新深度学习的一些框架,一些代码,从CV到NLP都会有相应的讲解,包括大模型训练以及部署。先画个饼,有时间开始慢慢更新。
2024年6月10日更新【Python教程】4-字符串、列表、字典、元组与集合操作

文章目录

  • 1. 字符串常用方法
  • 2. 字符串分割和连接
  • 3. 对齐方法示例
  • 4. 元组
  • 5. 列表
    • 常用方法
  • 6、字典
    • 遍历方式
    • 字典的增删改查
  • 7. 集合
  • 8. 类型转换
  • 9、方法

1. 字符串常用方法

a. 查找、替换、统计find()      # 查找子串的索引,如果找不到返回-1。(掌握)rfind()     # 从右向左查找子串的索引。(了解)index()     # 查找子串的索引,找不到子串时抛出异常。(了解)rindex()    # 从右向左查找子串的索引,与rfind()类似。(了解)replace()   # 替换子串,可以指定替换的次数,默认替换所有。(掌握)count()     # 计算子串在字符串中出现的次数。(掌握)b. 分割、连接split()         # 根据分隔符分割字符串,返回列表。(掌握)splitlines()    # 按行分割字符串,返回每一行为列表元素。(理解)partition()     # 将字符串分割为三部分,返回一个元组。(了解)rpartition()    # 从右侧开始分割字符串,返回一个元组。(了解)join()          # 使用指定字符串连接序列中的元素。(掌握)c. 判断startswith()    # 检查字符串是否以指定子串开始。(掌握)endswith()      # 检查字符串是否以指定子串结束。(掌握)isupper()       # 检查字符串是否由大写字母组成。(理解)islower()       # 检查字符串是否由小写字母组成。(理解)isdigit()       # 检查字符串是否只包含数字。(理解)isalpha()       # 检查字符串是否只包含字母。(理解)isalnum()       # 检查字符串是否只包含字母和数字。(理解)isspace()       # 检查字符串是否只包含空白字符。(理解)d. 转换upper()         # 将字符串中的小写字母转为大写。(理解)lower()         # 将字符串中的大写字母转为小写。(理解)title()         # 将字符串中每个单词的首字母大写。(理解)capitalize()    # 将字符串的第一个字母大写。(理解)e. 对齐center()        # 字符串居中,并使用指定字符填充至长度 width。(理解)rjust()         # 字符串右对齐,并使用指定字符填充至长度 width。(理解)ljust()         # 字符串左对齐,并使用指定字符填充至长度 width。(理解)f. 去除空白strip()         # 去除字符串两端的空白字符。(理解)lstrip()        # 去除字符串左侧的空白字符。(理解)rstrip()        # 去除字符串右侧的空白字符。(理解)

2. 字符串分割和连接

分割时,如果需要对任何空白字符进行分割,则不需要写入任何参数。

def string_test():s = 'Hello World Python World'print(s.split("o", 1))  # 按'o'分割一次print(s.split())         # 默认空白字符分割ss = s.split()print("_".join(ss))      # 使用'_'连接列表中的元素print(s.replace(' ', '#'))  # 空格替换为'#'print(s.split("World"))    # 按'World'分割print(s.partition('World')) # 按'World'三部分分割

3. 对齐方法示例

def string_test():s = 'Hello World Python World'ss = 'Hello'print('|' + ss.center(11, '_') + '|')  # 居中对齐,使用'_'填充print('|' + ss.rjust(11, '_') + '|')   # 右对齐print('|' + ss.ljust(11, '_') + '|')   # 左对齐

在这里插入图片描述

4. 元组

元组使用小括号,不可修改,列表使用方括号,字典使用花括号。

t = (1,)  # 定义只有一个元素的元组
t6 = tuple()
t7 = tuple("Hello")

元组可以使用下标访问,但不能修改内容。

def tuple_test():t = (1, 2, 3, 4, "hello", ('a', 'b', 'c'), 'a', 'b')for v in t:if isinstance(v, tuple):for i in v:print(i)else:print(v)print('t.count='+str(t.count('a')))print('t[0]= '+str(t[0]))print(type(t[0]))print(type(t))tt = (1,)print(type(tt)) # 常用方法只有index和count

5. 列表

列表的定义与操作,支持增、删、查、改等操作。

def list_test():l = [1, 2, 3, 4, 99, 6]print(l)l.sort(reverse=True)  # 倒序排序print(l)l.reverse()           # 反转列表print(l)

使用列表时,避免在循环中修改列表大小(如删除元素)。

常用方法

都是在原list上进行操作,

        增:append()        # 放最后extend()        # 拓展,将参数中的容器对象中的每个元素添加拓展到源列表中 insert()        # 可以指定位置,插入数据时不存在下标越界的问题修:下标修改查:index()count()in (掌握)not in删:pop() 参数是索引,默认删除最后一个remove() 删除指定对象,当有多个相同对象的时候只删除第一个clear() 清空但列表存在del 全没了

使用列表时,不要再循环遍历的时候删除元素

def list_test():l = [1, 2, 3, 4, 2.2]l.append(66)l.extend([4, 5, 6])print(l)print(3 in l)l.pop()print(l)

在这里插入图片描述

6、字典

定义时候使用花括号 {key:value,…} 利用键值对

l = {'one': '周一', 'two': '周二', 'three': '周三', 'four': '周四'}

key一般情况使用字符串类型充当(所有不可变的类型都可以),只要所有可以hash的对象都可以作为key

字典也是通过下标访问,但不是通过索引,而是通过key直接访问,但是最好通过get的方法

遍历方式

四种方式 key keys values items

默认打印的是key(for in的时候)

def list_travel1(l):for k in l:print(f'默认方式 key{k}->value{l[k]}')return None
def list_travel2(l):print(l.keys())for k in l.keys():print(f'keys  key{k}->value{l[k]}')return None
def list_travel3(l):print(l.values())for v in l.values():print(f'values:{v}')return None
def list_travel4(l): # 解包 for k,v in l.items():print(f'key={k} values-{v}')return None
def list_travel5(l):print(l.items())for item in l.items():print(f'keys=={item[0]} values=={item[1]}')
item = (1,2,3,4,5)
a,b,c,d,e=item # 这个就是解包,必须一对一

在这里插入图片描述

字典的增删改查

字典中的key具有唯一性,如果key不存在就是增加,如果存在就是修改

查找的时候用get,get不会崩溃

popitem删除最后一个键值对

清空也可以用clear

del d[‘e’ ]

dic = {}
print(dic)
dic['a'] = 1
print(dic)
dic['b'] = 2
dic['c'] = 2
dic['d'] = 2
dic['e'] = 5
print(dic)dic['e'] = 10
print(dic)
dic.popitem()
print(dic)
dic.pop('a')
print(dic)del dic['b']
print(dic)

在这里插入图片描述

python3.5之后,字典都是有序的,定义的顺序是啥就是啥

7. 集合

集合中的数据不允许重复,集合用来去重,集合也是无序的

定义: set(可遍历的对象),也可以用花括号,花括号不是键值对就是集合,用键值对的形式就是字典

s = set() #定义一个空集合

集合不支持下标访问的

8. 类型转换

演示了字符串、列表、集合和元组之间的转换。

st = 'hello'
print(st + "  " + str(type(st)))
st = list(st)
print(st)
print(str(type(st)))
st = set(st)
print(st)
print(str(type(st)))
print(''.join(st))

9、方法

img

in 在字典中判断的是ket

img

max和min

相关文章:

  • C#项目实战
  • 数据中台、数据仓库、数据湖的区别和关联
  • 装机必备 - WinRAR安装教程
  • 电子书资源汇总
  • C++基础与深度解析 | 类与面向对象编程 | 数据成员 | 成员函数 | 访问限定符与友元 | 构造、析构成员函数 | 字面值类、成员指针与bind交互
  • 47-1 等级保护工作流程
  • Hexo+Github搭建个人博客教程
  • 【图书推荐】《分布式数据库HBase案例教程》
  • 论文写作革新:AI如何简化你的研究流程?
  • adb 常用命令
  • Java--递归
  • minio多节点部署
  • DevOps的原理及应用详解(二)
  • STM32智能家居项目esp8266上云OneNet【附源码+详细教程】
  • 机床联网第一课
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 2018一半小结一波
  • input实现文字超出省略号功能
  • javascript从右向左截取指定位数字符的3种方法
  • vue中实现单选
  • 阿里云购买磁盘后挂载
  • 安卓应用性能调试和优化经验分享
  • 服务器从安装到部署全过程(二)
  • 如何利用MongoDB打造TOP榜小程序
  • 使用agvtool更改app version/build
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 异常机制详解
  • 追踪解析 FutureTask 源码
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # 数据结构
  • # 职场生活之道:善于团结
  • #AngularJS#$sce.trustAsResourceUrl
  • #java学习笔记(面向对象)----(未完结)
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1)bark-ml
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (转)甲方乙方——赵民谈找工作
  • (转)人的集合论——移山之道
  • (转载)Linux 多线程条件变量同步
  • .NET Core中的去虚
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 回调、接口回调、 委托
  • .Net 垃圾回收机制原理(二)
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET命名规范和开发约定
  • /etc/shadow字段详解
  • [023-2].第2节:SpringBoot中接收参数相关注解
  • [20170713] 无法访问SQL Server
  • [2023-年度总结]凡是过往,皆为序章