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) 获取序列长 ...
随机推荐
- 多线程开发之二 NSOperation
效果如下: ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UITableViewControll ...
- 【QT】error: 'SIGNAL' was not declared in this scope
error: 'SIGNAL' was not declared in this scope 未在此范围内声明. connect(ui->Btnshowhello,SIGNAL(clicked ...
- HTTP Status 500 - Could not open Hibernate Session for transaction;
错误原因: mysql数据库没有连接上 我们来启动mysql 方法1: 管理员身份运行 cmd 输入: net start mysql 方法2: Windows + R 运行 services.ms ...
- SpringBoot-服务端参数验证-JSR-303验证框架
1. springboot 默认集成了 hibernate-validator,它默认是生效的,可以直接使用. 比如: @RestController @RequestMapping("/h ...
- [Android] 基于 Linux 命令行构建 Android 应用(三):构建流程
Android 应用的构建过程就是将 Android 项目中的文件和资源进行编译和打包,最后将结果输出到 .apk 文件..apk 文件是保存二进制文件的容器,它包含了运行安卓应用所需的所有信息,例如 ...
- 启动mysqld报 mysql the server quit without updating pid file
查看mysql服务器的错误日志有一句: InnoDB: mmap(137363456 bytes) failed; errno 12 原来是内存不够用(需要131MB)呀,把my.cnf中的innod ...
- WP8.1学习系列(第二十七章)——ListView和GridView入门
快速入门:添加 ListView 和 GridView 控件 (XAML) 在本文中 先决条件 选择 ListView 或 GridView 将项添加到项集合 设置项目源 指定项目的外观 指定视图 ...
- VIM 的帮助文档在哪里?看这里。
我一直奇怪,像VIM这么优秀的软件怎么就没有个详细的文档. 再优秀,新手不会用也是白搭啊.再说,谁生下来就是老手么? 只有那个简单的tutor么? 虽说看了这个tutor也能用了,但作为“编辑器之神” ...
- Bootstrap的Model源码详细注释 (转)
原文: http://my.oschina.net/haogrgr/blog/323079?p=1 /* =============================================== ...
- nodejs的koa2框架
官网文档 cnpm i --save-dev koa2 koa-router koa-body koa-static request npm install --save koa2 const koa ...