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]
  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时,切片方向可以被改变,此时没有上述限制

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

  1. Python基础教程系列目录,最全的Python入门系列教程!

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在现在的工作及开发当中,Python的使用越来越广泛,为了方便大家的学习,Linux大学 特推出了 <Python基 ...

  2. Python入门系列【附】进阶教程

    如题,本篇将讲解Python提升之路:Python作为语法简单易学的语言,入门容易精通却很难,这是共识,那么为什么会有这样的共识?精通Python的难度在哪里? Python拥有简单.形象.直观的语法 ...

  3. python基础之字符串索引与切片

    字符串索引与切片:切片后组成新字符串与原字符串无关系增:str1+str2查:str1[index] str1[start_index:end_index]1,索引从0开始2,根据索引获取元素:索引超 ...

  4. Python入门基础之函数、切片

    Python之函数 Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. Python之调用函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需 ...

  5. Python入门系列(一)安装环境

    python是什么 python是一门很受欢迎的语言,除了不能生孩子以外,其它都可以做. 它擅长的领域是脚本工具和科学数据这一块,比如大数据,数据分析什么的. python安装 为了演示和验证教程可用 ...

  6. python入门(五):切片列表元祖字典

    1.切片 针对序列,使用切片可以获得我们想要的内容 序列:字符串.列表.元祖 特点:可以使用坐标获取某一个值.坐标是从0开始算 >>> s="0123456789" ...

  7. python中str的索引、切片

    1 a = "hello" 2 a1 = a[1] 3 a2 = a[0:2] 4 print(a1) 5 print(a2) 我们通过索引获取字符串中指定位数的字符 通过切片获取 ...

  8. Python入门系列教程(二)字符串

    字符串 1.字符串输出 name = 'xiaoming' print("姓名:%s"%name) 2.字符串输入 userName = raw_input('请输入用户名:') ...

  9. Python入门系列(四)别再傻傻分不清:列表、元组、字典、集合的区别

    总结分析列表.元组.字典.集合的相同与区别之处,只有彻底分清之后,就会在应用的时候,得心应手. 四句话总结 列表是一个有序且可更改的集合,允许重复成员. 元组是一个有序且不可更改的集合,允许重复成员. ...

随机推荐

  1. COGS1752. [BOI2007]摩基亚Mokia CDQ

    CDQ的板子题 #include<cstdio> #include<cstring> #include<iostream> #include<algorith ...

  2. Spring源码解析-实例化bean对象

    spring加载配置文件,AbstractApplicationContext类中的refresh方法起着重要的作用. @Override public void refresh() throws B ...

  3. [codechef FNCS]分块处理+树状数组

    题目链接:https://vjudge.net/problem/CodeChef-FNCS 在一个地方卡了一晚上,就是我本来以为用根号n分组,就会分成根号n个.事实上并不是....因为用的是根号n下取 ...

  4. Watto and Mechanism Codeforces Round #291 (Div. 2)

    C. Watto and Mechanism time limit per test 3 seconds memory limit per test 256 megabytes input stand ...

  5. javascript简易下拉菜单效果

    JS代码: window.onload=function(){ var oDiv=document.getElementById('navMenu'); var aUl=oDiv.getElement ...

  6. bzoj2683/4066 简单题

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2683 http://www.lydsy.com/JudgeOnline/problem.ph ...

  7. codevs1063 合并果子 优先队列(小根堆)

    题目传送门 这道题很容易想到优先把两堆重量最小的合并比较优 然后乱搞一下就可以啦 #include<cstdio> #include<cstring> #include< ...

  8. AWS Ubuntu部署EMQTT的小坑

    Redis身份认证中的 is_superuser 表示不查检用户密码和ACL规则 如果是Ubuntu,集群设置节点名须改为:ubuntu@私有Ip,安全组最好相互开放所有端口 如果使用了ELB,EMQ ...

  9. mybatis generator 生成带中文注释的model类

    将org.mybatis.generator.interal.DefaultCommentGenerator类的addFieldComment方法重写,代码如下: public void addFie ...

  10. 4.shell预定义变量

    就是shell设计者实现预定好的变量,可以直接在shell脚本中使用$$:当前进程的进程号(pid)$!:后台运行的最后一个进程的进程号(pid)$?:最后一次执行的命令的返回状态,如果这个变量的值为 ...