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(() …...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
