Python学习2-列表和元组
Python学习2-列表和元组
标签(空格分隔): 列表 元组
在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号--即元素的位置,也称为索引。索引从0开始。
Python中包括6种内建的序列。本次暂时讨论列表和元组。
列表和元组的主要区别在于,列表可以修改,元组则不能。
一般来说,几乎所有的情况下列表都可以替代元组(需要注意的例外情况:使用元组作为字典的键。这种情况下,因为键不可修改,所以不能使用列表)。
序列示例:
>>>tom = ['tom', 32]
同时,序列也可以包含其他的序列
>>>smith = ['smith', 34]
>>>database = [tom, smith];
[['tom', 32], ['smith', 34]]
通用序列操作
所有序列类型都可以进行某些特定的操作。这些操作包括:索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员(成员资格)。除此之外,Python还有计算序列长度、找出最大原色和最小元素的内建函数。(通用操作还包括迭代iteration)
1.索引
序列中所有的元素都是有编号的--从0开始递增。这些元素可以通过编号访问。如下所示:
>>>foo = 'Hello'
>>>foo[0]
'H'
使用负数索引时,Python会从右边,也就是最后一个元素开始计数。最后一个元素的位置编号为-1(不是-0,因为那会和第一个元素重合)
>>>foo[-1]
'o'
>>>foo[-0]
'H'
字符串字面值(就此而言,其他序列字面量亦可)能够直接使用索引,而不需要一个变量来引用它们。两种做法的效果是一致的。
>>>'Hello'[1]
'e'
2.分片
分片操作用来访问一定范围内的元素。分片通过冒号相隔的两个索引来实现:
>>>tag = '<a href="http://www.python.org">Python web site</a>'
>>>tag[9:30]
'http://www.python.org'
分片操作对于提取序列的一部分是很有用的。而编号在这里显得尤为重要。第1个索引是需要提取部分的第1个元素的编号,而最后的索引则是分片之后剩下部分的第1个元素的编号。
第1个索引的元素是包含在分片内的,第2个则不包含在分片内。
--未完待续
Python学习2-列表和元组的更多相关文章
- Python学习_03_列表、元组、字符串
列表.元组.字符串这些通过顺序访问的对象统称为序列. 序列的标准操作符 对于一般的序列对象,包括列表.元组.字符串,都具有以下的标准操作: 1. element [not] in seq判断一个元素是 ...
- Python学习3——列表和元组
一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...
- Python学习:列表、元组、字典、集合
转载:https://www.cnblogs.com/xc-718/p/9632942.html 列表/元组 列表和元组都是序列结构,它们本身很相似,但又有一点不同: 列表是用方括号标记,如:a=[1 ...
- python学习之列表和元组
配置环境:python 3.6 python编辑器:pycharm,代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- # list:是一种有序的集合,可以 ...
- Python学习笔记----列表、元组和字典的基础操作
文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...
- Python 学习笔记(1)Python容器:列表、元组、字典与集合
Python容器:列表.元组.字典与集合 列表: 1.列表 的创建 使用[ ] 或者 list()创建列表:empty_list = [ ] 或者 empty_list= list() 使用list( ...
- python第二天 列表、元组
今天学习了列表.元组相关的知识:与C中的数组列表相似,元组为只读列表: 以及切片相关操作: #!usr/bin/env python #-*-coding:utf-8-*- # Author calm ...
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- python基础之列表list元组tuple
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...
随机推荐
- 绑定CPU
处理器的亲和性 软亲和性(affinity) 意味着进程并不会在处理器之间频繁迁移,而 硬亲和性(affinity) 则意味着进程需要在您指定的处理器上运行. 通常 Linux 内核都可以很好地对进程 ...
- RTMP/RTP/RTSP/RTCP的区别
RTCP RTMP/RTP/RTSP/RTCP的区别 http://blog.csdn.net/frankiewang008/article/details/7665547 流媒体协议介绍(rtp/r ...
- 在telnet下操作memcache详解(操作命令详解)
这篇文章主要介绍了在telnet下操作memcache详解,telnet下的memcache操作命令详解,需要的朋友可以参考下 在定位问题.测试等时候经常需要对memcache的数据进行一些操作,但是 ...
- Android 怎样把光标放在EditText中文本的末尾处?
EditText et = (EditText)findViewById(R.id.inbox); et.setSelection(et.getText().length());
- sublime3运行lua
{ "cmd": ["/usr/local/bin/lua", "$file"], "file_regex": &quo ...
- c# ffmpeg常用参数
c# ffmpeg常用参数 转换文件格式的同时抓缩微图: ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 ...
- 解决 ko mapping 数组无法添加新对象的问题
这两天页面模板化的进程有些放缓,使用 ko mapping 插件的情形多了起来.组员经常问到的问题即是往 ko mapping 数组添加新对象时,报找不到方法的错误:而使用 ko.observable ...
- CListView虚拟列表
首先说下虚拟列表出现的原因: 数据量比较小的时候,对于CListView控件可以直接使用InsertItem并配合SetItemText函数来插入并修改数据.这样操作很直接. 但是,如果数据量比较大了 ...
- dojo 十一 jsonp
官方教程:Getting Jiggy with JSONPDojo对Ajax实现的框架XHR的功能很强大,但 XHR 框架的函数有一问题就是不能跨域访问,浏览器不允许 XHR 对象访问其他域的站点.此 ...
- iPhone 屏幕上的 Home 键在哪里?(已解决)
「问」:iPhone屏幕上的Home键如何开启? 「答」:在[设置]-[通用]-[辅助功能]-[AssistiveTouch],打开即可.不需要下载什么App. [Settings] - [Gener ...