python 语句、容器、索引切片

py基础教程学习(1) 文章目录前言一、第一章-快速上手-简单的介绍1.知识点二、第二章-列表元组1.序列和常用的序列操作1.序列操作之索引2.序列操作之切片3.序列操作之相加4.序列操作之相乘5.序列操作之成员资格:in2.列表:主力1.列表操作之修改、删除2.列表方法2.元组:不可修改总结 前言 正式开始前想明确一下学习python的目的,由于机器学习的需要,python这个一直没有被我捡起的技能提上日程。 主要想要系统的学习这门语言,一步一步学习的同时我也会加入在机器学习课程中的应用实践作为辅助,两者类似于并行。 参考教. 阅读详情

上次讲到python运算符,链接如下:
https://blog.youkuaiyun.com/python1386/article/details/90760622
习题答案2; True: True; True; 3

语句

条件语句

让程序根据条件选择性的执行语句。
语法:

    if 条件1:
        语句块1
    elif 条件2:
        语句块2
    else:
        语句块3

说明:
elif 子句可以有0个或多个。
else 子句可以有0个或1个,且只能放在if语句的最后。
if 语句的真值表达式

if 100:
	print("真值")

等同于

if bool(100):
    print("真值")

条件表达式

语法:变量 = 结果1 if 条件 else 结果2
作用:根据条件(True/False) 来决定返回结果1还是结果2

a= 1 if 3>2 else 2
print(a)

打印结果:1

循环语句

重复着做着同样的操作,不管是有限还是无限,这样的操作可以通过循环来解决。
循环分为for、while循环,如下开始介绍。

for 循环语句

for循环是对于一个可迭代对象,遍历其元素。
之前数据基本类型中,字符串、列表、元组、字典等都是可迭代对象。

语法:

for 变量 in 可迭代对象:
	循环体
else:
	代码块
注:else表示循环完成后,要执行的内容,else可以省略。
    循环体中break语句执行后,将跳出for循环,且else语句不执行。

while 循环语句

可以让循环体重复执行,直至满足条件结束。
语法:

while 条件:
    满足条件执行的语句
else:
    不满足条件执行的语句

注:else子句可以省略。
在循环体内用break终止循环时,else子句不执行。
当循环条件不满足时才走else

跳转语句

break 立即跳出所在循环
continue 不运行所在循环的后续代码,进行下次循环

pass占位语句

pass用来填充代码空白,不进行任何操作。

if True:
	pass

##循环语句运用
打印0~10之内的奇数
下面两个代码实现同一个功能

for item in range(10):
    if item % 2==0:
        continue
    print(item,end=" ")
i = 1
while True:
    if i % 2 != 0:
        print(i, end=" ")
    i += 1
    if i > 10:
        break

打印结果:1 3 5 7 9

容器

容器由一系列元素组成,是数据的集合。

容器操作

索引

通过索引访问容器(字符串、列表等),得到元素。
语法:容器[整数]
说明:
正向索引从0开始,第二个索引为1,最后一个为len(s)-1。
反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)。

切片

通过切片获取容器(字符串、列表等)部分元素,重新组成一个容器。
语法:
容器[(开始索引):)结束索引)(:步长)]
说明:
小括号()括起的部分代表可省略
结束索引不包含该位置元素
步长是切片每次获取完当前元素后移动的偏移量

字符串

定义
由一系列字符组成的不可变序列容器,存储的是字符的编码值。

字符串使用索引

string="hello world"
print(string[2])

输出:l

字符串使用切片

string="hello world"
print(string[2:6:1])
print(string[2:6:2])

输出:
llo
lo

列表

定义
由一系列变量组成的可变序列容器。
基础操作:

  1. 创建列表:
    列表名 = []
    列表名 = list(可迭代对象)

  2. 添加元素:
    列表名.append(元素)
    列表.insert(索引,元素)

  3. 定位元素:
    索引、切片

  4. 遍历列表:
    正向:

	for 变量名 in 列表名:
		变量名就是元素
		反向: print(i)
	for 索引名 in range(len(列表名)-1,-1,-1):
		列表名[索引名]就是元素
  1. 列表推导式
    1. 定义:
      使用简易方法,将可迭代对象转换为列表。
    2. 语法:
      变量 = [表达式 for 变量 in 可迭代对象]
      变量 = [表达式 for 变量 in 可迭代对象 if 条件]
    3. 说明:
      如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃。
      例:
list01=[i for i in range(10)]
print(list01)

打印结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

元组

定义
1. 由一系列变量组成的不可变序列容器。
2. 不可变是指一但创建,不可以再添加/删除/修改元素。
基本操作

  1. 创建空元组:
    元组名 = ()
    元组名 = tuple()
  2. 创建非空元组:
    元组名 = (20,)
    元组名 = (1, 2, 3)
    元组名 = 100,200,300
    元组名 = tuple(可迭代对象)
  3. 获取元素:
    索引、切片
  4. 遍历元组:
    正向:
	for 变量名 in 列表名:
		变量名就是元素
反向:
	for 索引名 in range(len(列表名)-1,-1,-1):
		元祖名[索引名]就是元素

字典

定义

  1. 由一系列键值对组成的可变散列容器。

  2. 散列:每条记录无序。

  3. 键必须惟一且不可变(字符串/数字/元组),值没有限制。
    基础操作

  4. 创建字典:
    字典名 = {键1:值1,键2:值2}
    字典名 = dict (可迭代对象)

  5. 添加/修改元素:
    语法:
    字典名[键] = 数据
    说明:
    键不存在,创建记录。
    键存在,修改映射关系。

  6. 获取元素:
    变量 = 字典名[键] # 没有键则错误

  7. 遍历字典:

	for 键名 in 字典名:
		字典名[键名]
	for 键名,值名 in 字典名.items():
		语句
  1. 删除元素:
	del 字典名[键]

​
字典推导式

  1. 定义:
    使用简易方法,将可迭代对象转换为字典。
  2. 语法:
    {键:值 for 变量 in 可迭代对象}
    {键:值 for 变量 in 可迭代对象 if 条件}

集合 set

定义
1. 由一系列不重复的i不可变类型变量组成的可变散列容器。
2. 相当于只有键没有值的字典(键则是集合的数据)。
基础操作

  1. 创建空集合:
    集合名 = set()
    集合名 = set(可迭代对象)
  2. 创建具有默认值集合:
    集合名 = {1, 2, 3}
    集合名 = set(可迭代对象)
  3. 添加元素:
    集合名.add(元素)
  4. 删除元素:
    集合名.discard(元素)

运算

  1. 交集&:返回共同元素。
    s1 = {1, 2, 3}
    s2 = {2, 3, 4}
    s3 = s1 & s2 # {2, 3}

  2. 并集:返回不重复元素
    s1 = {1, 2, 3}
    s2 = {2, 3, 4}
    s3 = s1 | s2 # {1, 2, 3, 4}

  3. 补集-:返回只属于其中之一的元素
    s1 = {1, 2, 3}
    s2 = {2, 3, 4}
    s1 - s2 # {1} 属于s1但不属于s2

    补集^:返回不同的的元素
    s1 = {1, 2, 3}
    s2 = {2, 3, 4}
    s3 = s1 ^ s2 # {1, 4} 等同于(s1-s2 | s2-s1)

  4. 子集<:判断一个集合的所有元素是否完全在另一个集合中

  5. 超集>:判断一个集合是否具有另一个集合的所有元素
    s1 = {1, 2, 3}
    s2 = {2, 3}
    s2 < s1 # True
    s1 > s2 # True

  6. 相同或不同== !=:判断集合中的所有元素是否和另一个集合相同。
    s1 = {1, 2, 3}
    s2 = {3, 2, 1}
    s1 == s2 # True
    s1 != s2 # False
    子集或相同,超集或相同 <= >=

例:

a = {1, 2, 3}
b = {2, 3, 4}
print(a & b) #{2, 3}        #交集&  a,b都有
print(a | b) #{1, 2, 3, 4}  #并集|  a,b合并
print(a ^ b) #{1, 4}        #补集^  a,b各特有的总和
print(a - b) #{1}           #差集-  a有但b没有的
print(b - a) #{4}           #差集-  b有但a没有的
c={1,2}
print(c < a) #True          #子集 < a包含c
print(a > c) #True          #超集 > a包含c

集合推导式

  1. 定义:
    使用简易方法,将可迭代对象转换为集合。
  2. 语法:
    {表达式 for 变量 in 可迭代对象}
    {表达式 for 变量 in 可迭代对象 if 条件}
【华为OD机试】真题E卷-一种字符串压缩表示的解压(C++) 有一种简易压缩算法:针对全部为小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如:字符串aaabbccccd 经过压缩变成字符串 3abb4cd请您编写解压函数,根据输入的字符串, 判断其是否为合法压缩过的字符串若输入合法则输出解压缩后的字符串 否则输出字符串!error来报告错误。 阅读详情

相关推荐

S7-PLCSIM Advanced V3.0虚拟PLC组态下载失败?手把手教你解决IP地址冲突问题

本文针对S7-PLCSIM Advanced V3.0组态下载失败问题,深入剖析了IP地址冲突的根本原因。通过对比博途项目PLC、虚拟网卡及本机物理网卡的IP配置,提供了清晰的排查流程与标准化解决方案,帮助用户快速修复网络可达性问题,确保虚拟PLC仿真顺利进行。

weixin_29306261的博客 193

Python的切片(slice),真正的高级,龟叔牛p

Python的切片,用一句话可以概括:将一个可迭代的数据集(list,tuple,dict,str等等等),有规律的分割出子集。切片,极大缩短了Python的代码量,提升了Python代码的简洁性。英语叫做slice,非常形象。

oJinGangZuan的博客 1800

告别版本过低提示!微信3.9登录修复与聊天记录无缝迁移全攻略

本文详细解析了微信3.9版本过低提示的根源,并提供了完整的修复方案和聊天记录迁移指南。通过专用修复工具绕过版本检测,以及新旧版本聊天记录目录对比,帮助用户实现无缝迁移。特别提醒备份重要数据,确保操作安全。

weixin_42535461的博客 3145

Python索引

数组索引机制指的是用方括号[ ]加序号的形式引用单个数组元素,它的用处很多,比如抽取元素,选取数组的几个元素,甚至为其赋一个新值。 (1)整数索引 要获取数组的单个元素,指定元素的索引即可。 (2)切片索引 切片操作是指抽取数组的一部分元素生成新数组。对 python 列表进行切片操作得到的数组是原数组的副本,而对 Numpy 数据进行切片操作得到的数组则是指向相同缓冲区的视图。 如果想抽取(或查看)数组的一部分,必须使用切片语法,也就是,把几个用冒号( start:stop:step )隔开的数字置于方

jjkeyangou的博客 1万+

高速DAC时钟与配置实战:DAC5681Z硬件设计与寄存器编程详解

在高速数据转换系统中,时钟信号是决定系统性能的核心要素,其稳定性和纯净度直接影响数模转换器(DAC)的输出频谱纯度与动态范围。时钟电路的设计原理涉及信号完整性、阻抗匹配与直流偏置,而内部锁相环(PLL)和延迟锁相环(DLL)的配置则是实现精确时序控制的关键技术。这些技术的价值在于,它们共同保障了高速通信、雷达和任意波形生成等应用对信号实时性与精度的严苛要求。本文聚焦于德州仪器(TI)的DAC5681Z,深入解析其外部时钟输入电路的硬件设计要点,包括端接电阻的计算与选型,并详细拆解通过串行外设接口(SPI)对

weixin_30342363的博客 186

@transactional滥用导致数据源连接池耗尽问题

@transactional滥用导致数据源连接池耗尽问题

qq_43205267的博客 1201

python列索引和行索引_python-真值的行和列索引

我有一个NxN熊猫数据框,其中包含布尔值.例如:In[56]: dfOut[56]:15 25 35 45 5510 True False False False False20 False True False False False30 False False True False False40 False False ...

weixin_39781323的博客 1110

[南大ICS-PA2]PA2 - 简单复杂的机器:冯诺依曼计算机系统

mips32和riscv32的指令长度只有32位, 因此它们不能像x86那样, 把C代码中的32位常数直接编码到一条指令中. 思考一下, mips32和riscv32应该如何解决这个问题?加载立即数到寄存器的高20位,然后便可以是哟给你标准的立即指令来创建32位常量。在程序分析领域中,静态指令是指程序代码中的指令,动态指令是指程序运行过程中的指令,例如对于一下指令序列。位域,在小端机器上,先定义的在每个字节的低位,后定义的在每个字节的高位。,这是处理非法指令的宏,其定义在。指令,而下一条动态指令则是。

qq_42474104的博客 928

Python索引index常用的8种操作

原始数据为 csv 文件。 data ''' date,temperature,humidity 07/01/21,95,50 07/02/21,94,55 07/03/21,94,56 ''' 一、读取时指定索引列 默认索引从0开始,可通过 index_col设置索引列。 import os os.chdir(r'C:\Users\111\Desktop') import pandas as pd import numpy as np # 指定时间索引 data = pd.read_csv('dat

Python热爱者的博客 1万+

Weblogic安装与部署

27.免密登录,在目录Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer和Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\Server-TA目录下,新建security\boot.properties文件,13.点击新建按钮,填写服务器名称,服务器监听地址,再点击下一步,最后点击完成。

m0_46259466的博客 6635

YOLOv13改进:注意力机制 | 动态稀疏注意力的双层路由方法BiLevelRoutingAttention | CVPR2023

BiLevelRoutingAttention方法对小目标检测效果比较好。可能是因为BRA模块是基于稀疏采样而不是下采样,一来可以保留细粒度的细节信息,二来同样可以达到节省计算量的目的。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1436

python 索引方法 python中如何索引

在一维数组中,你可以使用中括号指定索引获取第i个值(从0开始计数),但是对于多维的数组,每个索引值对应的元素不再是一个数值,例如,在一个二维数组中,将得到一个以为数组。布尔索引主要是利用的布尔数组,当数组的比较操作(比如==、>=)也是可以向量化,这些比较运算的结果是个布尔数据类型的数组。该数组与原数组的长度和形状都是一致,我们可以获取到对应位置为True的值。与基础索引一样,切片索引也是原数组的视图,修改数据也会作用于原数组。这种方式获取的数据为原数组的视图,对于视图数值的修改,也会修改原数组数值。

2401_83470102的博客 2805

063、推挽变换器的磁偏问题与解决

本文针对推挽变换器中的磁偏问题展开分析。作者通过实际案例指出,磁偏主要由开关管导通压降差异和驱动信号不对称引起,会导致变压器饱和、MOS管炸毁等问题。文章提供了四种解决方案:采用电流模式控制、添加隔直电容、优化对称驱动设计以及引入磁芯气隙(作为最后手段)。调试时应重点观察原边电流波形对称性、变压器声音和直流分量。作者强调实践经验的重要性,建议预留隔直电容位置,并指出推挽拓扑在500W以上功率场合的局限性。这些基于实战的经验总结为电源工程师提供了有价值的参考。

Jack010169的博客 312

python2中的print语句可以不用小括号。_Python王之路day03:循环语句、索引切片、容器...

上次讲到python运算符,链接如下:https://www.toutiao.com/i6698326627941614092/习题答案2; True: True; True; 3语句1、条件语句让程序根据条件选择性的执行语句。语法: if 条件1: 语句块1 elif 条件2: 语句块2 else: 语句块3说明:elif 子句可以有0个或多个。else 子句可以有0个或1个,且只能放在if语句...

weixin_39666496的博客 330

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

从0学python(第三天)

字符串:字符串是一种有序的字符序列,字符可以是字母、数字、标点符号、空格或其他特殊字符。字符串是不可变的数据类型,这意味着一旦创建,其内容就不能被修改。不过,可以通过一些操作来创建新的字符串。(所谓的有序,不是指它们内容按大小排序,而是指它们的下标位置是有顺序的。

m0_65150162的博客 1107

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python入门笔记(2)

Python初学随堂笔记语句行选择语句if elif else语句if嵌套循环语句while语句for 语句range 函数跳转语句break 语句continue 语句pass 语句容器类型数学运算符成员运算符索引 index切片 slice内建函数附:小练习1小练习2 语句 行 物理行:程序员编写代码的行。 逻辑行:python解释器需要执行的指令。 建议一个逻辑行在一个物理行上。 如果一个物理行中使用多个逻辑行,需要使用分号;隔开。 如果逻辑行过长,可以使用隐式换行或显式换行。 隐

淮南子.的博客 652

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

亿豪的python学习 day04

今天的学习内容 由于今天内容有点多就ctrl+c了一些 for 语句 for 变量 in 可迭代对象: 语句块1 else: 语句块2 (循环的次数等于可迭代对象的元素个数,与java区别不小) range 函数 作用: 用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。 语法: range(开始点,结束点,间隔) 说明: 函数返回的可迭代对象可以用for取出其中的元素 返回的数字不...

weixin_45819795的博客 167

Python基础学习 #1

Python基础学习 #1 1.容器 Python容器有Lists、Tuples、Dictionaries、Sets等 列表 列表可以用索引和切片等访问,其成员方法有add()、contains()、len()、append、pop等。 a = [1,2,"hello",max,[3,4]] 元组 元组与列表类似,但不可修改 a = (1,2,3) 集合 集合无序地存储非重复的数据,集合支持数学意义上的集合运算(交、并、差、对称差) s = {'cat','fox','panda'} 字典

voluntino 176

初步认识python2026.7.13

刚开始学,整理的笔记,感谢各位指导。

2603_96570567的博客 281

Python 机器学习基础(一)——Python

本文是 Python 机器学习基础系列文章的第一篇——Python 篇。Python任何一门编程语言,入门学习的基础知识包括:数据类型、控制流、函数、模块化、类,以及一些常用的零碎语法。Python 亦不例外。数据类型基本数据类型包括布尔型(bool)、整型(int)、长整型(long)、浮点型(float)、复数(complex)五种。

Chris's Notes 1691

Python 3 条件判断和循环语句,list、tuple、dict、set容器,部分函数

4-1 Python之if语句 if条件后有一个 :  ,这是条件分支判断的格式,在最后加入冒号 : ,表示接下来是分支代码块 if判断的子分支代码块需要缩进,在Python规范中,一般使用4个空格作为缩进(可在编辑器中设置tab长度为四个空格) 参考链接 相关报错: 没有进行缩进时会报错: SyntaxError: expected an indented block 翻译过来就是: 语法错误:需要一个缩进的代码块 同一代码块内缩进量不同时会报错: SyntaxError: unexpecte.

qq_42893016的博客 650

python-入门3

for 字符串

leeaon 223

Day 03 python学习笔记

位运算 底层的原理 二进制 三元运算符程序结构选择结构布尔类型和比较运算符if语句单语句双语句多条件判断语法判断语句终极--嵌套使用 索引 字符串的切片python数据容器列表列表的常用操作append insert sort index reverse count clear copy exend pop 列表特点列表的切片

Starry__Sky222的博客 291

常见的25个python面试问答_Python面试中最常见的25个问题-结束

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼13)Python中的lambda表达式是什么?lambda表达式是一个匿名函数,通常用作代码行内的嵌入函数。14)为什么Python中的lambda表达式没有声明?Python中的lambda表达式没有声明是因为它只是用来创建一个新的函数对象,并且在运行时才返回结果。15)Python中的pass是什么意思?pass是Python中的空操作语句,或者说...

weixin_40002692的博客 121

第六章列表

一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素每一个元素,可以是任意类型的数据,如字符串、数字、布尔。列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)· 是否支持重复元素。

2502_93602857的博客 199

python学习(黑马)3

python数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素可以是任意类型的数据,如字符串,数字、字符。列表的特点:可以容纳多个元素2*63-1,可以容纳不同类型元素,数据是有序存储的,允许重复数据存在,可以修改增加或删除元素。特点:可以容纳多个数据,可以容纳不懂类型的数据,数据有序存储,允许重复数据存在,不可以修改增加或者删除元素,支持for循环。insert(下标,元素),在指定的下标位置,插入指定的元素。print("********查询余额*********")

boxiansheng163的博客 176
上一篇: Python运算符
下一篇: python字符串格式化的实现
wy 9527
博客等级 码龄7年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值