【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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP参数污染漏洞

HTTP参数污染漏洞 1.HPP漏洞概述2.HPP漏洞利用手段3.参数解析:Flask vs PHP 1.HPP漏洞概述 HTTP参数污染攻击是指通过在HTTP请求中插入多个同名参数,混淆服务器对参数的处理逻辑,进而实现攻击目的。这种攻击可以在URL查询字符串、POST数据和…

AI大模型探索之路-实战篇16:优化决策流程:Agent智能数据分析平台中Planning功能实践

系列篇章💥 AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框架调研 AI大模型探索之路-实战篇5:探索Open Interpreter开放代码解释器调研 AI大模型探索之路-实战篇6:掌握Function Calling的详细流程 AI大模型探索之路-实战篇7…

MLM之GLM-4-9B:GLM-4-9B的简介、安装和使用方法、案例应用之详细攻略

MLM之GLM-4-9B:GLM-4-9B的简介、安装和使用方法、案例应用之详细攻略 背景痛点:目前主流的大语言模型如GPT-3等,在多轮对话能力、多语言能力、长文本理解能力以及对工具和代码调用能力等方面存在一定限制。 解决方案: >> 在…

现代x86汇编-环境安装

今天端午节,独自在家,翻阅了张银奎老师编写的《现代x86汇编语言程序设计》一书,前言部分说明书中示例代码都是用微软visual C工具编写并使用微软宏汇编(著名的MASM)编译的,好久没有用微软vc了,假…

详解FedProx:FedAvg的改进版 Federated optimization in heterogeneous networks

FedProx:2020 FedAvg的改进 论文:《Federated Optimization in Heterogeneous Networks》 引用量:4445 源码地址: 官方实现(tensorflow)https://github.com/litian96/FedProx 几个pytorch实现:…

基于STM32的595级联的Proteus仿真

文章目录 一、595级联1.题目要求2.思路3.仿真图3.1 未仿真时3.2 模式A3.2 模式B3.3 故障模式 二、总结 一、595级联 1.题目要求 STM32单片机,以及三个LED灯对应红黄绿灯,IIC的OLED显示屏,温湿度传感器DHT11,两个独立按键和两个5…

MySQL时间和日期类型详解(零基础入门篇)

目录 1. DATE 2. DATETIME 3. TIMESTAMP 4. TIME 5. YEAR 6. 日期和时间的使用示例 以下SQL语句的测试可以使用命令行,或是使用SQL工具比如MySQL Workbench或SQLynx等。 在 MySQL 中,时间和日期数据类型用于存储与时间相关的数据,如何…

Python数据分析与建模库-02科学计算库Numpy-3.矩阵属性

该视频主要讲述了线性回归算法的核心思想和应用。首先,回顾了线性回归的基本概念,即通过历史数据学习参数,使得参数与特征组合后拟合效果最佳。接着,介绍了误差项的假设和高斯分布的概念,并推导了如何找到使拟合效果最…

重温共射放大电路

1、放大概念 小功率信号变成一个大功率信号,需要一个核心器件做这件事,核心器件的能量由电源提供,通过核心器件用小功率的信号去控制大电源,来实现能量的转换和控制,前提是不能失真,可以用一系列正弦波进行…

Qt定时器

在 Qt 框架中,定时器是一个非常强大和常用的工具,用于定期执行某些任务。Qt 提供了一些类和方法来实现定时功能,其中最常用的是 QTimer 类。 一、QTimer 概述 QTimer 类是 Qt 中实现定时功能的核心类。它提供了一个简单的接口,用…

Running Gradle task ‘assembleDebug‘ Flutter项目

基于Android方面运行Flutter项目一直卡在 Launching lib\main.dart on Android SDK built for x86 in debug mode… Running Gradle task ‘assembleDebug’… 基础原因: 默认存放Gradle插件包的Maven仓库是国外(需VPN) 我的原因: 缺少JDK和缺少Androi…

【Oracle】Oracle导入导出dmp文件

文章目录 前言一、什么是dmp?二、imp/impdp、exp/expdp对比及示例1.区别2.imp/impdp对比及示例a. impb. impbp 3.exp/expdp对比及示例a. expb.expdp 3.其他事项 三、执行导入导出前置条件1.创建角色并授权2.创建目录映射 前言 在工作中,经常会遇到需要备…

整理好了!2024年最常见 20 道分布式、微服务面试题(八)

上一篇地址:整理好了!2024年最常见 20 道分布式、微服务面试题(七)-CSDN博客 十五、什么是分布式事务,以及如何实现它们? 分布式事务是指在分布式系统中,跨多个节点或资源管理器的一系列操作&…

React中的 Scheduler

为什么需要调度 在 React 中,组件最终体现为 Fiber,并形成 FiberTree,Fiber 的目的是提高渲染性能,将原先的 React 渲染任务拆分为多个小的微任务,这样做的目的是可以灵活的让出主线程,可以随时打断渲染&a…

定个小目标之刷LeetCode热题(10)

这道题属于一道中等题&#xff0c;看来又得背题了&#xff0c;直接看题解吧&#xff0c;有两种解法 第一种动态规划法 状态&#xff1a;dp[i][j] 表示字符串s在[i,j]区间的子串是否是一个回文串 状态转移方程&#xff1a;当s[i] s[j] && (j - i < 2 || dp[i 1]…

纸片战争修改版(重载)

基于上次纸片战争断网版本的修改 http://纸片战争Beta压缩试行.html 不行的话去我的首页下载&#xff0c;搜索“纸片战争”

讨论C++类与对象

讨论C类与对象 C语言结构体和C类的对比类的实例化类对象的大小猜想一猜想二针对上述猜想的实践 this指针不同对象调用成员函数 类的6个默认成员函数构造函数析构函数拷贝构造函数浅拷贝和深拷贝 赋值运算符重载 初始化列表初始化顺序 C语言结构体和C类的对比 在C语言中&#x…

手撸一个java简易聊天室

创建一个Java聊天室涉及到网络编程、多线程处理以及用户界面设计。这里我将提供一个简单的Java聊天室实现&#xff0c;包括服务器端和客户端的基本逻辑。 服务器端 服务器端负责接收客户端的消息&#xff0c;并将其广播给所有连接的客户端。 java 复制 import java.io.; import…

C语言Socket实现Http的post请求

修改三个宏定义即可 #define HOST “192.168.1.133” //主机 #define PORT 80 //端口 #define POST_DATA “post_test444&post_val555” //内容 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include &l…

对猫毛过敏?怎么有效的缓解过敏症状,宠物空气净化器有用吗?

猫过敏是一种常见的过敏反应&#xff0c;由猫的皮屑、唾液或尿液中的蛋白质引起。这些蛋白质被称为过敏原&#xff0c;它们可以通过空气传播&#xff0c;被人体吸入后&#xff0c;会触发免疫系统的过度反应。猫过敏是宠物过敏中最常见的类型之一&#xff0c;对许多人来说&#…