python数据结构和字符串用法
python数据结构和字符串用法
#Python 中数学运算常用的函数基本都在 math 模块
import math
print(math.ceil(4.1)) #5
print(math.floor(4.9)) #4
print(math.fabs(-10)) #10.0
print(math.sqrt(9)) #3.0
print(math.exp(1)) #2.718281828459045
#Python随机数
#使用random()方法即可随机生成一个[0,1)范围内的实数
import random
ran=random.random()
print(ran)
#randint()生成一个随机整数
ran=random.randint(1,20)
print(ran)
#字符串
#字符串连接:+
a="Hello "
b="World "
print(a+b)
#重复输出字符串:*
print(a*3)
#通过索引获取字符串中字符[]
print(a[0]) #H
#字符串截取[:] 牢记:左闭右开
print(a[1:4]) #ell
#判断字符串中是否包含给定的字符: in, not in
print(‘e’ in a) #True
print(‘e’ not in a) #False
#join():以字符作为分隔符,将字符串中所有的元素合并为一个新的字符串
new_str=‘-’.join(‘Hello’)
print(new_str)
#字符串单引号、双引号、三引号
print(‘Hello World!’)
print(“Hello World!”)
#转义字符
print(“The \t is a tab”)
print(‘I’m going to the movies’)
#引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
print(‘’‘I’m going to the movies’‘’)
html = ‘’’
ERROR
%s''' print(html)
#声明一个列表,并通过下标或索引获取元素
names=[‘jack’,‘tom’,‘tonney’,‘superman’,‘jay’]
#通过下标或索引获取元素
print(names[0])
print(names[1])
##获取最后一个元素
print(names[-1])
print(names[len(names)-1])
#获取第一个元素
print(names[-5])
#遍历列表,获取元素
for name in names:
print(name)
#查询names里面有没有superman
for name in names:
if name==‘superman’:
print(‘有超人’)
break
else:
print(‘无超人’)
#更简单的方法,来查询names里有没有superman
if ‘superman’ in names:
print(‘有超人’)
else:
print(‘无超人’)
#列表元素添加
#声明一个空列表
girls=[]
girls.append(‘small tom’)
print(girls)
#extend(),一次添加多个。把一个列表添加到另一个列表 ,列表合并。
models=[‘big sister’,‘middle sister’]
girls.extend(models)
#girls=girls+models OK
print(girls)
#insert():指定位置添加
girls.insert(1,‘书欣’)
print(girls)
#列表元素修改,通过下标找到元素,然后用=赋值
fruits=[‘apple’,‘pear’,‘banana’,‘pineapple’,‘caomei’]
print(fruits)
fruits[-1]=‘strawberry’
print(fruits)
#将fruits列表中的‘banana’替换为’香蕉’
no modify
for fruit in fruits:
if ‘banana’ in fruit:
fruit=‘香蕉’
print(fruits)
#OK update banana->香蕉
for i in range(len(fruits)):
if ‘banana’ in fruits[i]:
fruits[i]=‘香蕉’
break
print(fruits)
#列表元素删除
words=[‘cat’,‘hello’,‘pen’,‘pencil’,‘ruler’]
del words[0]
print(words)
words.remove(‘pen’)
print(words)
words.pop(0)
print(words)
#列表切片
#在Python中处理列表的部分元素,称之为切片。
#创建切片,可指定要使用的第一个元素和最后一个元素的索引。注意:左闭右开
#将截取的结果再次存放在一个列表中,所以还是返回列表
animals = [‘cat’,‘dog’,‘tiger’,‘snake’,‘mouse’,‘bird’]
print(animals[2:5]) #[‘tiger’, ‘snake’, ‘mouse’]
print(animals[-1:]) #[‘bird’]
print(animals[-3:-1]) #[‘snake’, ‘mouse’]
print(animals[-5👎2]) #[‘dog’, ‘snake’]
print(animals[::2]) #[‘cat’, ‘tiger’, ‘mouse’]
#列表排序
import random
random_list=[]
for i in range(10):
ran=random.randint(1,20)
if(ran not in random_list):
random_list.append(ran)
print(random_list) #少项数<10 [11, 5, 9, 1, 10, 20, 12, 2]
random_list=[]
i=0
while i<10:
ran=random.randint(1,20)
if(ran not in random_list):
random_list.append(ran)
i+=1
print(random_list) #[8, 11, 2, 10, 6, 19, 16, 3, 17, 7]
#默认升序 排序
new_list=sorted(random_list)
print(new_list)
#降序 排序
new_list=sorted(random_list,reverse=True)
print(new_list)
#元组 与列表类似,元组中的内容不可修改
tuple1=()
print(type(tuple1)) #<class ‘tuple’>
tuple2=(‘hello’)
print(type(tuple2)) #<class ‘str’>
#注意:元组中只有一个元素时,需要在后面加逗号!
tuple3=(‘hello’,)
print(type(tuple3))
#元组不能修改,所以不存在往元组里加入元素。
#那作为容器的元组,如何存放元素?
random_list = []
for i in range(10):
ran = random.randint(1,20)
random_list.append(ran)
print(random_list)
random_tuple = tuple(random_list)
print(random_tuple)
#元组访问
print(random_tuple[0])
print(random_tuple[-1])
print(random_tuple[1:-3])
print(random_tuple[::-1])
#元组的修改:
t1=(1,2,3)+(4,5)
print(t1) #(1, 2, 3, 4, 5)
t2=(1,2)*2
print(t2) #(1, 2, 1, 2)
#元组的一些函数:
print(max(random_tuple))
print(min(random_tuple))
print(sum(random_tuple))
print(len(random_tuple))
#字典
#定义一个空字典
dict1={}
dict2={‘name’:‘tom’,‘weight’:45,‘age’:25}
print(dict2[‘name’])
#list可以转成字典,但前提是列表中元素都要成对出现
dict3 = dict([(‘name’,‘杨超越’),(‘weight’,45)])
print(dict3)
dict4 = {}
dict4[‘name’] = ‘虞书欣’
dict4[‘weight’] = 43
print(dict4)
dict4[‘weight’] = 44
print(dict4)
#字典里的函数 items() keys() values()
dict5 = {‘杨超越’:165,‘虞书欣’:166,‘上官喜爱’:164}
print(dict5.items())
for key,value in dict5.items():
if value > 165:
print(key)
#values() 取出字典中所有的值,保存到列表中
results = dict5.values()
print(results)
#求小姐姐的平均身高
heights = dict5.values()
print(heights)
total = sum(heights)
avg = total/len(heights)
print(avg)
names = dict5.keys()
print(names)
#字典获取用法
#print(dict5[‘赵小棠’]) #若不存在“赵小棠”,会报错KeyError
print(dict5.get(‘赵小棠’))
print(dict5.get(‘赵小棠’,170)) #如果能够取到值,则返回字典中的值,否则返回默认值170
#字典删除用法
dict6 = {‘杨超越’:165,‘虞书欣’:166,‘上官喜爱’:164}
del dict6[‘杨超越’]
print(dict6)
result = dict6.pop(‘虞书欣’)
print(result)
print(dict6)
#—the—end—字符串
相关文章:

python数据结构和字符串用法
python数据结构和字符串用法 #Python 中数学运算常用的函数基本都在 math 模块 import math print(math.ceil(4.1)) #5 print(math.floor(4.9)) #4 print(math.fabs(-10)) #10.0 print(math.sqrt(9)) #3.0 print(math.exp(1)) #2.718281828459045 #Python随机数 #使用random(…...

ext4 - mballoc块分配机制
概述 ext4为了尽量避免block管理的碎片化有如此措施: 1.mballoc多块分配器。 buddy算法管理每个block group采用prellocation机制,氛围per-cpu local preallocation和per inode preallocation 小文件和大文件采用不同的策略小文件(具体怎么…...

Spring整合junit
1、导入pom坐标 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.springframework</gro…...

Swift 让ScrollView滚动到具体某个位置
1. 使用scrollToItem方法滚动集合视图 DispatchQueue.main.asyncAfter(deadline: .now() 0.1) {let firstIndexPath IndexPath(item: 0, section: 0)let lastIndexPath IndexPath(item: self.recordArray.count - 1, section: 0)// Scroll to first itemself.collectionVie…...

【C语言day08】
int n5; int a[n][n2] 数组定义下角标不能为变量 注:C99标准中支持了使用变量本题考查的是二维数组的元素访问,A选项是 正确的,X[i]就是第i行的数组名,数组名表示首元素的地址,X[i]表示第i行的第一个元素的地址&#…...

【并发编程】ThreadLocal
从名字我们就可以看到 ThreadLocal 叫做线程变量,意思是 ThreadLocal 中填充的变量属于当前线程,该变量对其他线程而言是隔离的。 ThreadLocal 为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 static ThreadL…...

如何提高自己的软件测试水平之bug定位
同学们在面试投简历的时候会经常看到人家公司JD上写的要求之一,如下: 这句话大家不要以为随便写写的,在我工作的十几年过程中起码见过10个以上试用期没过的公司新人,公司在衡量一个测试工程师是否专业的标准之一就是:…...

发点实用的快捷键(mac
切换输入法:ctrlspace /ctrloptionspace(更快捷 切换网页: shifttab 切换应用界面:alttab 关闭页面:altw 搜索:altspace 展示mac隐藏文件: Commangshift . (点) 以下是一些浏览器快捷键&am…...

Android播放多媒体文件——播放音频
以下内容摘自郭霖《第一行代码》第三版 播放音频 MediaPlayer类中常用的控制方法 方法名功能描述setDataSource()设置要播放的音频文件的位置prepare()在开始播放之前调用,以完成准备工作start()开始或继续播放音频pause()暂停播放音频reset()将MediaPlayer对象重…...

存储重启后,ceph挂载信息没了,手动定位osd序号并挂载到对应磁盘操作流程、ceph查看不到osd信息处理方法
文章目录 故障说明处理流程定位硬盘中的osd序号挂载osd到ceph上验证并拉起osd重复上面操作故障说明 我们的一个存储节点莫名其妙的重启了,不知道咋回事 但这样的问题就是,所有osd都down了 因为挂载信息没有写到fstab里面,所以不会自动up,并且没有挂载信息,并且也看不到o…...

Linux学习之循环处理位置参数
for处理位置参数 loopPositionFor.sh里边的内容如下: #!/bin/bash# show learningfor inputString in $* doif [ "${inputString}" "good" ];thenecho "learning"fi donechmod urx loopPositionFor.sh给当前用户把loopPositionFor…...

NLP实战8:图解 Transformer笔记
目录 1.Transformer宏观结构 2.Transformer结构细节 2.1输入 2.2编码部分 2.3解码部分 2.4多头注意力机制 2.5线性层和softmax 2.6 损失函数 3.参考代码 🍨 本文为[🔗365天深度学习训练营]内部限免文章(版权归 *K同学啊* 所有&#…...

Pytorch个人学习记录总结 玩俄罗斯方块の深度学习小项目
目录 前言 模型成果演示 训练过程演示 代码实现 deep_network tetris test train 前言 当今,深度学习在各个领域展现出了惊人的应用潜力,而游戏开发领域也不例外。俄罗斯方块作为经典的益智游戏,一直以来深受玩家喜爱。在这个项目中&…...

PuTTY连接服务器报错Connection refused
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

11-3_Qt 5.9 C++开发指南_QSqlQuery的使用(QSqlQuery 是能执行任意 SQL 语句的类)
文章目录 1. QSqlQuery基本用法2. QSqlQueryModel和QSqlQuery联合使用2.1 可视化UI设计框架2.1.1主窗口的可视化UI设计框架2.1.2 对话框的可视化UI设计框架 2.2 数据表显示2.3 编辑记录对话框2.4 编辑记录2.5 插入记录2.6 删除记录2.7 记录遍历2.8 程序框架及源码2.8.1 程序整体…...

神码ai火车头伪原创插件怎么用【php源码】
大家好,本文将围绕python绘制烟花特定爆炸效果展开说明,如何用python画一朵花是一个很多人都想弄明白的事情,想搞清楚用python画烟花的代码需要先了解以下几个事情。 1、表白烟花代码 天天敲代码的朋友,有没有想过代码也可以变得…...

13.Netty源码之Netty中的类与API
highlight: arduino-light ServerBootstrap Bootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件,Netty 中ServerBootstrap 是服务端启动引导类。 java //泛型 AbstractB…...

C# 如何检查数组列表中是否存在数组
原文:https://www.coder.work/article/2958674 列表: 一个数组列表,想检查一个确切的数组是否在列表中 List<int[]> Output new List<int[]>(); 有一个数组 int[] coordinates 想检查coordinates 数组是否在Output 列表中&…...

AI课堂教学质量评估系统算法 yolov7
AI课堂教学质量评估系统通过yolov7网络模型框架利用摄像头和人脸识别技术,AI课堂教学质量评估系统实时监测学生的上课表情和课堂行为。同时,还结合语音识别技术和听课专注度分析算法,对学生的听课专注度进行评估,生成教学质量报告…...

eventBus使用遇到的坑
**问题:**通过eventBus传递的参数,在子组件的methods中无法通过this.使用。 **思路:**考虑组件方法的执行顺序(vue生命周期执行顺序) **解决办法:**在传递参数的组件外 this.$nextTick this.$nextTick(() …...

ChatGPT应用|科大讯飞星火杯认知大模型场景创新赛开始报名了!
ChatGPT发布带来的 AI 浪潮在全球疯狂蔓延,国内掀起的大模型混战已经持续半年之久,国产大模型数量正以惊人的速度增长,据不完全统计,截止7月14号已经达到了111个,所谓的“神仙打架”不过如此了吧。 ( 包括但…...

DM8 DSC备份还原
1、检查磁盘空间 检查服务器磁盘空间使用情况,确认磁盘有充足的空间存放物理备份。 查看磁盘空间使用情况(备份在端点0,此处检查端点0) su - dmdba [dmdbacentos-04 ~]$ df -h 文件系统 容量 已用 可用 已用% …...

【Docker--harbor私有仓库部署与管理】
目录 一、Harbor 部署1. 部署 Docker-Compose 服务2. 部署 Harbor 服务(1)下载或上传 Harbor 安装程序(2)修改harbor安装的配置文件 3. 启动 Harbor4. 查看 Harbor 启动镜像5. 创建一个新项目1、在虚拟上进行登录 Harbor2、下载镜…...

基于量子同态加密的安全多方凸包协议
摘要安全多方计算几何(SMCG)是安全多方计算的一个分支。该协议是为SMCG中安全的多方凸包计算而设计的。首先,提出了一种基于量子同态加密的安全双方值比较协议。由于量子同态加密的性质,该协议可以很好地保护量子电路执行过程中数据的安全性和各方之间的…...

MySQL案例——多表查询以及嵌套查询
系列文章目录 MySQL笔记——表的修改查询相关的命令操作 MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明 文章目录 系列文章目录 前言 一 创建数据库 1.1 创建一个部门表 1.…...

AI 视频清晰化CodeFormer-Deepfacelab
CodeFormer 概述 (a) 我们首先学习一个离散码本和一个解码器,通过自重建学习来存储人脸图像的高质量视觉部分。(b) 使用固定的码本和解码器,我们引入了一个用于代码序列预测的 Transformer 模块,对低质量输入的全局人脸组成进行建模。此外&a…...

TCP协议如何实现可靠传输
TCP最主要的特点 TCP是面向连接的运输层协议,在无连接的、不可靠的IP网络服务基础之上提供可靠交付的服务。为此,在IP的数据报服务基础之上,增加了保证可靠性的一系列措施。 TCP最主要的特点: TCP是面向连接的输出层协议 每一条…...

万恶的Eclipse的使用
恨啊!公司用eclipse,这种千年老古董又被翻出来了,我的idea,我的宝,我想你! 下面是总结的各种eclipse的使用技巧: 让eclipse像idea一样使用 .sout eclipse设置自动保存代码(图文&…...

文件上传--题目
之前有在技能树中学过文件上传,正好借这次进行一个整合: 技能树中所包含的题目类型有 无限制绕过 1.上传一句话木马 2.链接中国蚁剑 前端验证 1.会发现这个网站不让提交php,改后缀为jpg格式,再用burp抓包 2.在用中国蚁剑连接 .…...

小程序创建
1,下载HBuilder X ;(3.8.7) HBuilderX-高效极客技巧 2,下载模板(不选云服务的); 3,运行-运行到小程序模拟器; 4,安装小程序开发工具; 5,选择稳定版-windows64版&…...