python序列元素引用容易出错的地方
python序列分列表和元组,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。举个简单的例子,a1是一个元组,a2是一个列表
>>>a1 = (2, 3.3, 'ytkah', 7.6, 9, 12, False) # a1是一个tuple >>>a2 = [True, 8, 'smile'] # a2是一个list
序列元素的下标从0开始:
>>>print(a1[0]) #输出2 >>>print(a2[2]) #输出smile
尾部元素引用
>>>print(a1[-1]) # 序列最后一个元素 >>>print(a1[-3]) # 序列倒数第三个元素
高级用法,范围引用: 基本样式[下限:上限:步长],敲重点,容易出错的地方,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。
>>>print(a1[:5]) # 从开始到下标4 (下标5的元素 不包括在内)得到(2, 3.3, 'ytkah', 7.6, 9) >>>print(a1[2:]) # 从下标2到最后,得到('ytkah', 7.6, 9, 12, False) >>>print(a1[0:5:2]) # 从下标0到下标4 (下标5不包括在内),每隔2取一个元素 (下标为0,2,4的元素),得到(2, 'ytkah', 9) >>>print(a1[2:0:-1]) # 从下标2到下标1(下标0不包括在内)得到('ytkah', 3.3) >>>print(a1[0:-1]) # 等价于print(a1[:-1])从下标到倒数第二个元素(最后一个元素不包括在内,再一次,不包括上限元素本身)得到(2, 3.3, 'ytkah', 7.6, 9, 12),注意与print(a1[-1])的区别
python序列元素引用容易出错的地方的更多相关文章
- Java向前引用容易出错的地方
所谓向前引用,就是在定义类.接口.方法.变量之前使用它们,例如, class MyClass { void method() { System.out.println(myvar); } String ...
- Python: 序列list:保持元素顺序同时消除重复值
问题:怎样在Python的一个序列上面保持元素顺序的同时消除重复的值?answer:如果序列上的值都是hashable 类型,那么可以很简单的利用集合或者生成器来解决这个问题. eg1: def de ...
- Python: 序列: 过滤序列元素
问题: 你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列 answer: eg1:列表推导 最简单的过滤序列元素的方法就是使用列表推导.比如:>>> mylist = ...
- Python 对象的引用计数和拷贝
Python 对象的引用计数和拷贝 Python是一种面向对象的语言,包括变量.函数.类.模块等等一切皆对象. 在python中,每个对象有以下三个属性: 1.id,每个对象都有一个唯一的身份标识自己 ...
- python中的引用
作为一个python初学者,今天被一个python列表和词典引用的问题折磨了很久,但其实了解了缘由也很简单,记录在此备忘. 首先背书python中的引用对象问题: 1. python不允许程序员选择采 ...
- [python笔记][第二章Python序列-list]
2016/1/27学习内容 第二章 Python序列-list list常用操作 list.append(x) list.extend(L) list.insert(index,x) list.rem ...
- Python序列类型
Python序列类型 序列:字符.列表.元组 所有序列都支持迭代 序列表示索引为非负整数的有序对象集合 字符和元组属于不可变序列,列表可变 1)字符 字符串字面量:把文本放入单引号.双引号或三引号中: ...
- Python序列及其操作(常见)
python序列及函数入门认识: 0. 我们根据列表.元组和字符串的共同特点,把它们三统称为什么? 序列,因为他们有以下共同点: 1)都可以通过索引得到每一个元素 2)默认索引值总是从0开始(当 ...
- Python 序列操作符与函数(字符串)
Python序列包括:元组.列表.字符串. 1.1 序列共同支持的函数: 函数 功能 说明 cmp(seq1,seq2) 比较序列大小 从左到右依次比较,直到比较出大小 len(seq1) 获取序列长 ...
随机推荐
- jdk和tomcat基本配置
问题:前端采用grunt构建,后台采用java编写使用Eclipse或IntelliJ,把Tomcat嵌入到开发工具当中.问题一:在于是grunt编译之后生成的文件,每次都需要刷新项目文件夹,然后在刷 ...
- 30分钟入门Java8之lambda表达式
前言 Google在今年发布Android N开发者预览版,一并宣布开始支持Java 8.我们终于能在Android开发中使用到Java8的一些语言特性了.目前支持: 默认方法 lambda表达式 多 ...
- ViewPager PagerAdapter not updating the View
There are several ways to achieve this. The first option is easier, but bit more inefficient. Overri ...
- [UFLDL] Generative Model
这一部分是个坑,应该对绝大多数菜鸡晕头转向的部分,因为有来自物理学界的问候. Deep learning:十九(RBM简单理解) Deep learning:十八(关于随机采样) 采样方法 [B ...
- [JS] Topic - hijack this by "apply" and "call"
Ref: 详解js中的apply与call的用法 call 和 apply二者的作用完全一样,只是接受参数的方式不太一样. 参数形式: Function.apply(obj,args) call方法与 ...
- [JS] ECMAScript 6 - String, Number, Function : compare with c#
字符串的扩展 正则的扩展 数值的扩展 函数的扩展 字符串的扩展 js 字符的 Unicode 表示法 codePointAt() String.fromCodePoint() 字符串的遍历器接口 at ...
- [Cubieboard] 安装 Lubuntu server for SDCard
硬件:Cubieboard2 系统:Ubuntu 14.04 based on VMware Virtual Machine 镜像:cb2-lubuntu-server-tsd-tfcard-v2.0 ...
- C# MVC+EF—结构搭建
近期做了MVC+EF的项目,现在项目完结了,抽个时间写个小DOM总结一下,顺便加深理解. 一.新建MVC项目,结构是这样的
- 7个简单的Excel技巧,需要的赶紧get起来吧
1.直观数据图形化 2. Ctrl不连续选择 3. Ctrl+A相连文本框全选 4. 格式刷点击 5. SUM函数求和 6. 自动求和.自动求平均值.自动计数 7. 行.列距调节
- 矩阵游戏|ZJOI2007|BZOJ1059|codevs1433|luoguP1129|二分图匹配|匈牙利算法|Elena
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MB Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩 ...