python——入门系列(一)索引与切片

1.索引和切片:python当中数组的索引和其他语言一样,从0~n-1,使用索引的方法也是中括号,但是python中的切片的使用简化了代码

索引:取出数组s中第3个元素:x=s[2]

切片:用极少的代码将数组元素按需处理的一种方法。切片最少有1个参数,最多有3个参数,演示如下:

我们假设下面所用的数组声明为array=[2,3,4,5,6]

1个参数:

  1. array[1:]——从下标为1的元素选择到最后一个元素,返回 [4,5,6]
  2. array[:3]——从下标为0的元素选择到下标为2的元素,不包括下标3的元素,返回[2,3,4]
  3. array[::2]——从下标为0的元素开始,最后一个%2为0的下标对应的那个元素为止

说明:如果前2个参数中有任何一个为负数,那么,分2种情况,如果负数 小于 -n,那么就给负数归0,如果仅仅在-n~0,那么就将这个数理解为0~n-1之间转圈圈就可以了。负数转圈的算法,很简单,就不说了

2个参数:

  1. array[1:-2]——从下标1开始,到下标(n-1)之前的所有元素,返回[3,4,5]
  2. array[-2:3]——当第一个参数经过计算大于等于后一个,返回空数组[]
  3. array[-13:3]——参见上面第一个说明,第一个参数归0,返回[2,3,4]

3个参数

  1. [::-1]——从头到尾,将数组反转,返回[6,5,4,3,2]
  2. [-1::-2]——从尾到头,每个一个元素,选择一个元素,返回[6,4,2]

说明:没有第3个参数时,切片只能从左向右,此时若第一个参数大于等于第二个参数,则返回空数组

说明:第三个参数<0时,切片方向可以被改变,此时没有上述限制

时间: 2024-10-24 23:36:40

python——入门系列(一)索引与切片的相关文章

python入门系列:函数

引言 将一段代码集中到一块,起一个名字,下次可以根据这个名字再次使用这个代码块.作用:方便代码重用分解任务,简化程序逻辑使代码更加模块化函数的参数 所有的传参方式都是传引用,注意列表做参数和数值做参数容易出现的问题. 单个参数 多个参数 定义方式 def funName(arg1, arg2, arg3...):pass 调用方法 funName(arg1, arg2, arg3...) # 形参和实参一一对应funName(arg2=v2, arg3=v3, arg1=v1) # 指明形参的名

python入门系列:面向对象

类和对象的创建 类 经典类 没有继承 object的类 新式类 继承了 object的类 class Money: # 2.x中默认是经典类,3.x中是新式类pass class Money(object): # 兼容的一种写法pass Money既是类的name属性名,又是一个引用该类的变量 print(Money.name) # Moneyxxx = Moneyprint(xxx.name) # Money对象 one = Money()print(one) # <main.Money ob

python入门系列:Python数据类型

整数 二进制 n1 = 0b1010 八进制 n2 = 0o567 十六进制 n3 = 0xfdc2浮点数 一般形式 n1 = 3.14 科学计数法 n2, n3 = 3.2e6, 1.2e-3简单数学函数 内建函数 abs(num): 返回数的绝对值 n1, n2, n3 = 1, 0, -1print(abs(n1), abs(n2), abs(n3)) # 1 0 1max(num) 和 min(num): 参数不定长 n1, n2, n3, n4 = 1, 2, 3, 4print(ma

python入门系列:Python基础知识

Python注释 单行注释 这是一个单行注释 print("test")多行注释 '''这里就是python的多行注释方式可以直接分行进行注释操作本质上是字符串'''import thisprint("hello world")特殊注释 #!/usr/bin/python3指定解释器的版本#encoding=utf-8python 2.x解决中文文本乱码Python变量 变量使用 使用之前不用声明:做参数传递时,所有的变量都是引用 定义变量 arg = val a

python入门系列:Python中一切皆对象

引言 Java语言也是面向对象的语言,但是Python要更加彻底Python的面向对象特性,是它使用起来灵活的根本所在对象的特点 可以赋值给一个变量 函数也是对象 def test(name):print(name) my_func = test # 注意 只写函数名 和 函数名加括号 的区别my_func("MetaTian") # 打印:MetaTian可以添加到集合中去 def plus(a, b):print(a+b) def minus(a, b):print(a-b)fun

python入门系列:异常处理

引言 系统内部一开始已经内置了一些特定的错误场景,当我们触发了这个场景时,系统内部就会向外界抛出异常.如果我们没有处理,程序就会停止运行.解决异常 通过条件判断语句在程序内部进行容错检测,避免错误的发生.缺点: 如果要处理的错误太多,会有很多的和业务逻辑无关的代码.捕捉异常,然后再处理 try: 可能出现异常的代码 有异常就会抛出,不会再执行剩下的 try后面的代码 except xxxError as xxx: 出现异常后,而且被捕捉到的代码 except可以写多个,用来捕捉多个不同的异常 e

python入门系列:Python使用虚拟环境

虚拟环境 背景 有两个项目,A和B.都依赖一个模块m,但是他们所需要的版本不一样.默认的情况是,只能安装一个版本的模块m.所以一台电脑上,两个项目无法同时运行. 解决方案 创建一个独立的局部python环境,在这个环境中,安装相关的库,如果有多个项目,则创建多个局部环境.平行宇宙即视感. 虚拟环境准备 想要创建平行宇宙,还得依赖一个三方包:virtualenv安装命令:pip install virtualenv使用虚拟环境 创建一个虚拟环境 使用命令:virtualenv dirname,也可

python入门系列:包和模块

基本概念 模块:将一组功能相关的代码写入一个单独的.py文件中,需要时进行导入,这个文件就是模块.包:有层次的文件目录结构,内部有多个模块或多个子包,一般要有init.py这个文件(3.3+ 的版本不需要).库:完成一定功能代码的集合,完成的功能一般更加广泛,可以是模块,也可以是包.框架:通过框架,可以快速实现解决某一个问题所需的代码骨架,后期进行填充即可.包和模块的作用 造轮子,工具代码,供其他模块使用(模块化编程)划分了变量作用域,解决变量/函数重名的问题包和模块分类 内建的模块:built

python入门系列:文件操作

操作模式 r """以只读方式打开文件(默认),文件的指针会放在文件的开头若文件不存在,会报错"""f = open("a.txt", "r") # 在同级目录下打开文件content = f.read()print(content)w """以只写方式打开文件,文件的指针也在文件开头,进行覆盖写入(先清空后写入)若文件不存在,会创建一个新的文件""&quo