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

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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AUTOSAR_SWS_LogAndTrace文档中文翻译

** 1 Introduction and functional overview ** 本规范规定了AUTOSAR自适应平台日志和跟踪的功能。 日志和跟踪为AA提供接口,以便将日志信息转发到通信总线、控制台或文件系统。 提供的每个日志记录信息都有自己的严重性级别。对于每个严重级别,都提供…

【MySQL】触发器trigger / 事件

文章目录 1. 触发器 trigger1.1 触发器命名1.2 new和old关键字1.3 案例:insert 触发器1.4 练习:delete 触发器1.5 查看触发器 show triggers1.6 使用触发器记录对表的操作 2 事件2.1 打开 / 关闭事件调度器2.2 创建事件 create event2.3 查看&#xff0c…

【Linux服务器Java环境搭建】09 在CentOS系统中安装和配置clickhouse数据库

一、安装环境 CentOS7 二、官网安装参考文档 官网安装参考文档 不同系统请参考如下建议 从RPM软件包安装: 建议在CentOS、RedHat和所有其他基于rpm的Linux发行版上使用官方预编译的rpm软件包从DEB软件包安装: 建议在Debian或Ubuntu上使用官方预编译…

分割均衡字符串 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 均衡串定义:字符串只包含两种字符,且两种字符的个数相同。 给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。 约定字符串中只…

【数据结构(十二·图)】图的相关知识(包括深度优先遍历和广度优先遍历)

文章目录 1. 图的基本介绍1.1. 图的举例说明1.2. 图的常用概念 2. 图的表示方式2.1. 邻接矩阵2.2. 邻接表 3. 应用案例4. 图的遍历4.1. 深度优先遍历4.1.1. 基本思想4.1.2. 算法步骤4.1.3. 代码实现 4.2. 广度优先遍历4.2.1. 基本思想4.2.2. 算法步骤4.2.3. 代码实现 4.3. 图的…

【Geoserver】将geoserver迁移到jetty的发行包中

之前讲了在Geosever的二进制发行包中升级jetty的内容,我测试之后发现有些问题,本地运行可能没有问题,但是在linux上运行报错了。 于是我想着换个思路好了,总是想着将Geosever中的jetty包替换掉,干脆反过来,…

css 实现GTA5 封面

上面的图片如何通过css 完成呢。废话不说&#xff0c;直接上代码 <template><view class"movie_report"><view class"movie_img" v-for"item in 9" :key"item"><image :src"../../static/item.png" &…

螺旋矩阵算法(leetcode第54题)

题目描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。示例 1&#xff1a;输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a;输入&#xff…

用python打印出菱形图案

你可以使用Python编写一个简单的函数来打印菱形图案。下面是一个例子&#xff0c;这个函数接受一个参数n&#xff0c;表示菱形的高度&#xff0c;然后打印出一个菱形图案&#xff1a; def print_diamond(n): # 上半部分 for i in range(n): print(" " …

接口测试练习步骤

在接触接口测试过程中补了很多课&#xff0c; 终于有点领悟接口测试的根本&#xff1b; 偶是个实用派&#xff5e;&#xff0c;那么现实中没有用的东西&#xff0c;基本上我都不会有很大的概念&#xff1b; 下面给的是接口测试的统一大步骤&#xff0c;其实就是让我们对接口…

滑动窗口如人生,回顾往事不复还———力扣刷题

第一题&#xff1a;长度最小的子数组 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 思路&#xff1a; 第一想法肯定时暴力枚举&#xff0c;枚举数组任何一个元素&#xff0c;把他当起始位置&#xff0c;然后从起始位置找最短区间&#xff0c;使得…

接口测试 — 2.Requests库介绍

1、接口测试的意义&#xff08;优势&#xff09; &#xff08;1&#xff09;更早的发现问题&#xff1a; 不少的测试资料中强调&#xff0c;测试应该更早的介入到项目开发中&#xff0c;因为越早的发现bug&#xff0c;修复的成本越低。 然而功能测试必须要等到系统提供可测试…

微搭低代码实现登录注册功能

目录 1 创建用户数据源2 实现登录逻辑3 搭建登录页面4 设置登录框5 实现登录的逻辑6 用户注册总结 原来产品在创建应用的时候可以创建模型应用&#xff0c;模型应用对应我们小程序的后端。最新的更新已经将模型应用的能力下线&#xff0c;那我们不得不自己实现一下后端的逻辑。…

目前进度记录

目前已经把之前记录的方法都实现了&#xff0c;目前的主函数可以写的更简单比如 int main(int argc, char* argv[]) {KernelClass::create_kernel();MPI_Init(&argc, &argv);kernel().mpi_manager.init_mpi(argc, argv);//创建种群int group1 kernel().conn_manger.c…

链表基础知识(一、单链表)

一、链表表示和实现 顺序表的问题及思考 问题&#xff1a; 1. 中间/头部的插入删除&#xff0c;时间复杂度为O(N) 2. 增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间。会有不小的消耗。 3. 增容一般是呈2倍的增长&#xff0c;势必会有一定的空间浪费。例如当…

【CANoe】CANoe手动发送XCP报文读取观测量

文章目录 1、硬件连接&#xff1a;配置CANoe的CAN端口&#xff0c;连接到ECU标定对应的CAN口2、配置CAN IG模块报文&#xff1a;连接XCP&#xff0c;读取观测量&#xff0c;断开XCP3、报文解析4、参考资料 1、硬件连接&#xff1a;配置CANoe的CAN端口&#xff0c;连接到ECU标定…

【JUC】二十七、synchronized锁升级之无锁

文章目录 1、背景2、Monitor、Java对象、线程如何关联起来的&#xff1f;3、synchronized锁升级4、锁升级之无锁 关于synchronized同步&#xff0c;能用无锁结构就不要用锁&#xff1b;能锁块&#xff0c;就不要锁整个方法&#xff1b;能用对象锁&#xff0c;就不要用类锁。 用…

探秘机器学习核心逻辑:梯度下降的迭代过程 (图文详解)

一 需求解函数 f() 和 g()函数分别为求y值和求导数的函数。 目的&#xff1a;求该函数的最小值&#xff1a; 代码&#xff1a; import numpy as np import matplotlib.pyplot as plt f lambda x : (x - 3.5) ** 2 - 4.5 * x 10 g lambda x : 2 * (x - 3.5) - 4.5x np.l…

1.3 什么是接口?什么是接口测试?

上一小节我们认识了C/S和B/S架构,那在B/S架构中,我们测试最常接触的,就是接口。本课程的重点是接口自动化测试,那同学们真的了解什么是接口吗?首先,我们从通俗的角度来看什么是接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发…

ARM day8

1.题目&#xff1a;主机获取从机里面的温湿度数据&#xff0c;并打印出来 结果&#xff1a; 代码&#xff1a; main.c #include "iic.h"#include "si7006.h"void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j);}}int main(){short tem;…