Python 从入门到精通 学习笔记 Day04

news2024/11/22 14:58:47

Python 从入门到精通 第四天

在这里插入图片描述

今日目标

数据类型-又见str、数据类型-又见list
列表切片&排序&反转&循环、字典

数据类型 - 又见str

字符串定义

字符串是一个有序的字符的集合,用于在计算机里存储和表示文本信息
创建

a = "Hello ,my name is Haoxintai."

字符串特性
按照从左到右的顺序定义字符集合,下标从0开始顺序访问。

# 可以进行切片操作,即顾头不顾尾
a[3:6]# 从第三位到第五位lo,
a[1:5]# 从第一位到第四位ello

不可变。
字符串是不可变的,不能像列表一样修改其中某个元素。
所有对字符串的操作修改其实都是相当于生成了一份新数据。

字符串常用操作

center(self,width,fillchar=None) # 在字符串两边补充填充物
count (self,sub,start=None,end=None)# 查询某个字符在字符串中出现的次数 start end 为取值范围
encode(self,encoding='utf-8',errors='strict')
endswith(self,suffix,start=None,end=None)# 判断字符是不是以某个字符结尾 返回True或False
find(self,sub,start=None,end=None)# 查找,返回-1代表没找到,如果找到就返回其索引
isdigit(self)# 判断是不是一个数字
strip(self,chars=None)# 去除多余的空格
replace(self,old,new,count=None)# 替换,count为替换的次数
split(self,seq=None,maxsplit=-1)# 把一个字符串变成列表,默认以空格划分
startswith(self,prefix,start=None,end=None)# 判断字符是不是以某个字符开始

数据类型 - 又见list

定义

[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素

列表的特点

①可以存放多个值
②按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
③可修改指定索引位置对应的值,可变

列表的增加操作

# 追加,数据会追加到尾部
names['haoxintai','qingfeng']
names.append("damahou")
names.append("laoliu")
names['haoxintai','qingfeng','damahou','laoliu']

# 插入,可插入任何位置
names.insert(2,"黑姑娘")
names['haoxintai','qingfeng','黑姑娘','damahou','laoliu']

# 合并,可以把另一外列表的值合并进来
n2 = ["狗蛋","绿毛","鸡头"]
names=['haoxintai','qingfeng','黑姑娘','damahou','laoliu']
names.extend(n2)
names['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头']

# 列表嵌套
name.insert(2,[1,2,3])
names['haoxintai','qingfeng',[1,2,3],'黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头']
names[2][1] 2

删除操作

del 直接删
names
['haoxintai','qingfeng',[1,2,3],'黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头']
del names[2]
names
['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头']
pop删除
names
['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头']
names.pop() #默认删除最后一个元素并返回被删除的值
 '鸡头'
names
['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛']
names.pop(1) # 删除指定元素
'qingfeng'
remove删除
names
['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头','laoliu']
names.remove("laoliu")# 删除第一个找到的laoliu值
names
['haoxintai','qingfeng','黑姑娘','damahou','狗蛋','绿毛','鸡头','laoliu']
clear清空
n2
["狗蛋","绿毛","鸡头"]
n2.clear()
n2
[]

修改操作

names
['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛']
names[0] = "我叫好心态"
names[-1]="你叫好心态"
names
['我叫好心态','qingfeng','黑姑娘','damahou','laoliu','狗蛋','你叫好心态']

查操作

names
['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头','laoliu']
names.index("laoliu")# 返回从左开始匹配到的第一个laoliu的索引
3

names.count("laoliu")# 返回laoliu的个数
2

item in list
'qingfeng' in names
#在不知道一个元素在列表哪个位置的情况下,如何修改:
#先判断在不在列表里,item in list
#取索引,item_index = names.index("qingfeng")
#去修改,names[item_index] = "wanfeng"

列表切片&排序&反转&循环

切片

正常切片

切片就像切面包,可以同时取出元素的多个值

names[start : end]
names
['haoxintai','qingfeng','黑姑娘','damahou','laoliu','狗蛋','绿毛','鸡头','laoliu']
names[1:4]# 不包含下标4的元素
['qingfeng','黑姑娘','damahou']

注意:切片的特性是顾头不顾尾,即start的元素会被包含,end-1是实际取出来的值

倒着切
names[-5:-1]
['laoliu','狗蛋','绿毛','鸡头']
names[-5:]
['laoliu','狗蛋','绿毛','鸡头','laoliu']
步长(跳着切)
names[start:end:step] #step 默认是1
a
[0,1,2,3,4,5,6,7,8,9]
a[0:7:2]
[0,2,4,6]

排序&反转&循环

排序
a = [83,4,2,4,6,19,33,21]
a.sort()
a
[2,4,4,6,19,21,33,83]
反转
names
['#','4','@','laoliu','damahou','qingfeng','haoxintai']
names.reverse()
names
['haoxintai','qingfeng','damahou','laoliu','@','4','#']
循环
for i in names:
	print(i)
haoxintai
qingfeng
damahou
laoliu
@
4
#
for i in enumerate(names):
	print(i)
(0,'haoxintai')# 元组
(1,'qingfeng')
(2,'damahou')
(3,'laoliu')
(4,'@')
(5,'4')
(6,'#')

字典

{key1:value1,key2:value2}

infor = {
	"name":"haoxintai",
	"age":27
}

key -> value

特性

1.key-value结构
2.key必须为不可变数据类型(字符串、数字)、必须唯一
3.可存放任意多个value、可修改、可以不唯一
4.无序
5.查询速度快,且不受dict的大小影响。
取值:print(infor[“name”])

增加操作

mes ={
	"haoxintai":[ 23,"CEO",66000 ],
	"黑姑娘":[ 24,"行政",4000],
}
#新增k
names["佩奇"]=[ 26,"讲师",40000 ]

删除操作

names.pop("haoxintai")#删除指定key
del names ["haoxintai"]#删除指定key,同pop方法
names.clear ( )
#清空dict

修改操作

dic['key'] = 'new_value'# 如果key在字典中存在, 'new_value'将会替代原来的value值;

查操作

dic['key']#返回字典中key对应的值,若key不存在字典中,则报错;
dic.get(key,default = None)#返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
'key' in dic#若存在则返回True,没有则返回False
dic.keys()#返回一个包含字典所有KEY的列表;
dic.values()#返回一个包含字典所有value的列表;
dic.items()#返回一个包含所有(键,值)元组的列表;

循环

for k in dic.keys ()
for k,v in dic.items (for k in dic#推荐用这种,效率速度最快
info = {
	"name" :"好心态",
	"mission":"123",
	"website":"https://haoxintai.com"
}
for k in info:
print (k,info[k])

求长度

len(dic)

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

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

相关文章

鸿蒙开发框架(ArkUI)简单解析

方舟开发框架(简称ArkUI)为HarmonyOS应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面…

Jetson Xavier NX开发环境配置——编译libusb-1.0.9

背景 新买的Jetson Xavier NX 8G微雪的开发板,刷机后虽然已经带了libusb的库,在命令窗口输入lsusb也能够找到usb设备。但是,光机的usb配置说明中提示最好把老版本的libusb卸载掉,安装libusb-1.0.9版本,因此&#xff0…

【语义分割数据集】——imagenet语义分割

地址:https://github.com/LUSSeg/ImageNet-S 1 例图 2. 类别和数量信息 疑问 根据原文的描述:Based on the ImageNet dataset, we propose the ImageNet-S dataset with 1.2 million training images and 50k high-quality semantic segmentation annot…

【Vue第5章】vuex_Vue2

目录 5.1 理解vuex 5.1.1 vuex是什么 5.1.2 什么时候使用vuex 5.1.3 案例 5.1.4 vuex工作原理图 5.2 vuex核心概念和API 5.2.1 state 5.2.2 actions 5.2.3 mutations 5.2.4 getters 5.2.5 modules 5.3 笔记与代码 5.3.1 笔记 5.3.2 23_src_求和案例_纯vue版 5.3…

2023年12月12日 Go生态洞察:探索不可达函数与`deadcode`工具

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

现代雷达车载应用——第2章 汽车雷达系统原理 2.5节 检测基础

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.5 检测基础 对于要测试目标是否存在的雷达测量,可以假定下列两个假设之一为真: •H0:—测量结果仅为噪声。 •H1:—测量是噪…

波奇学Linux:环境变量,本地变量和内建命令

Windows下的环境变量 echo $PATH 查看指令搜索命令路径 在bash命令行输入的指令,系统根据PATH中的路径查询。 增加PATH指令 $PATH等于上面的路径 :表示不同路径分割符 /home/boki/lesson13代表新的路径 相当于一个赋值语句。 相当于指令,可以直接使用…

一张图片组合一组动作就可以生成毫无违和感的视频!

你敢信,1张人物图片 1张动作动画,就可以生成一段视频。网友直呼:“主播/视频UP主可能快要下岗了!” (模型视频来源于网络) 本周,字节跳动联合新加坡国立大学发布了一款开源项目 MagicAnimate&…

超声波测距HC-SR04模块的简单应用

文章目录 一、HC-SR04HC-SR04是什么?HC-SR04测距的原理 二、使用步骤1.硬件最远探测距离调节硬件连接 2.软件1.初始化配置代码如下(示例):引脚初始化定时器初始化 2.引脚输入输出配置代码如下(示例)&#x…

verilog基础,连续赋值之组合逻辑

连续赋值语句可以完成任意组合逻辑,本节对基本的逻辑电路进行测试分析,主要包含一下内容: 1. 反相器 2. 与门 3.与非门 4.或门 5.或非门 6.异或门 7.同或门 verilog实现逻辑操作的算符如下 // ~ .... Invert a single-bit signal…

【网络通信原理之套接字】

目录 概念 分类 数据报套接字:使用传输层UDP协议 流套接字:使用传输层TCP协议 原始套接字 Socket编程注意事项 前言:本文主要介绍了在什么是套接字及在Java中套接字是什么,和在套接字编程的注意事项。 概念 Socket套接…

Postman接口测试工具使用

一、前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及…

K8S(四)—pod详解

目录 pod介绍Pod的概念:Pod的特性:Pod的配置:Pod的控制:示例 YAML 文件: pod启动流程问题 两种方式启动镜像的升级和回滚更新 Deployment:回滚检查 Deployment 历史版本回滚到之前的修订版本缩放 Deploymen…

进程概念【linux】

进程基础 在学习进程之前,首先要有一定的计算机硬件和软件基础。 硬件基础:冯诺依曼体系结构 如图,是计算机在硬件上的体系结构。 下面举出一些常见的输入输出设备(有些设备只作输出设备,或者只作输入设备&#xff…

基于Leaflet的Webgis经纬网格生成实践

目录 前言 一、Leaflet.Graticule 1、参数说明 二、集成使用 1、新建网页模板 2、初始化地图对象 3、运行效果 三、源码调用分析 1、参数注入 2、经纬网构建 总结 前言 众所周知,在地球仪上或地图上,经线和纬线相互交织,就构成经纬…

复旦微固化流程

生成boot.bin 如图所示,psoc下的create boot image,选择文件配置路径output bif,任意命名 点击右侧add,分别添加三部分 1.编译FSBL工程后SDK\system_platform\FSBL\Debug\Exe路径下的FSBL.out 2.PL侧的bit文件 3.编译工程后SDK\sy…

关于对RF射频方面性能要求各有不同

1.1 射频天线性能 对于一个射频设备每个公司对其合格指标要求都不一,有些公司注重于阻抗及电压驻波,有些公司注重与回波损耗及阻抗、有些只关注电压驻波。 1.2 射频的目的 其实射频天线的目的就是在不把无用的杂散放大超标准的前提下,把有用…

穿梭时光的Java魔法:轻松掌握Date类,揭示当前时间的神秘面纱!

一、实现目标 获取当前时间! 二、上代码 import java.text.SimpleDateFormat; import java.util.Date; public class Date_ { // 输出当前的时间 public static void main(String[] arg…

项目总结-自主HTTP实现

终于是写完了,花费了2周时间,一点一点看,还没有扩展,但是基本功能是已经实现了。利用的是Tcp为网络链接,在其上面又写了http的壳。没有使用epoll,多路转接难度比较高,以后有机会再写&#xff0c…

大数据技术8:StarRocks极速全场景MPP数据库

前言:StarRocks原名DorisDB,是新一代极速全场景MPP数据库。StarRocks 是 Apache Doris 的 Fork 版本。StarRocks 连接的多种源。一是通过这个 CDC 或者说通过这个 ETL 的方式去灌到这个 StarRocks 里面;二是还可以去直接的和这些老的 kafka 或…