python类型-序列-列表
列表类型也是序列式的数据类型,可通过下标或者切片操作来访问某一个或某一块连续的元素。
列表的元素是可变的,可包含不同类型的元素,列表类型的元素可以是另一个序列类型。
1.创建列表类型数据并赋值
列表使用方括号([])定义,alist = [123, 1.2, 'foo', 7-9j, [1, 2]]
>>> list('foo')
['f', 'o', 'o']
2.访问列表中的值
列表的切片操作和字符串一样,切片操作符([])和索引值或索引范围一起使用。
>>> alist = ['abc', 12.3, ['inner', 'list']]
>>> alist[2][1]
'list'
3.更新列表
在等号的左边指定一个索引或者索引范围的方式来更新一个或几个元素,也可以用append()方法来追加元素到列表中去。
>>> alist
['abc', 12.300000000000001, ['inner', 'list']]
>>> alist[2]
['inner', 'list']
>>> alist[2] = 'inner list'
>>> alist
['abc', 12.300000000000001, 'inner list']
4.删除列表中的元素或者列表本身
明确的知道要删除元素的索引可以用del语句,否则可以用remove()方法
>>> alist
['abc', 12.300000000000001, 'inner list']
>>> alist.remove(12.3)
>>> alist
['abc', 'inner list']
>>> del alist
5.列表操作符
== < > !=
比较操作符比较的时候使用的是内建的cmp()函数,基本的逻辑是:两个列表的元素分别进行比较,直到有一方的元素胜出。
>>> list1 = ['abc', 123]
>>> list2 = ['xyz', 789]
>>> list1 < list2
True
>>> list3 = ['abc', 789]
>>> list2 < list3
False
>>> list1 < list3
True
6.列表类型操作符
切片([]和[:]):列表的切片操作返回的是一个对象或者几个对象的集合。
>>> num_list = [45, 2.2, -2, 6.19e5]
>>> str_list = ['he', 'she', 'it']
>>> num_list[2:-1]
[-2]
>>> str_list[:2]
['he', 'she']
由于列表类型的元素可以是另一个序列类型,意味着可以在列表的元素上也可以使用所有的列表操作符或者在其上执行序列类型内建的各种操作。
>>> mix_list = [4.1, [1, -90.1], 'beef', (-1.9+6j)]
>>> mix_list[1][1]
-90.099999999999994
7.成员关系操作符(in, not in)
列表中(同样适用于元组),可以检查一个对象是否是一个列表(或者元组)的成员
>>> mix_list = [4.1, [1, -90.1], 'beef', (-1.9+6j)]
>>> 'beef' in mix_list
True
>>> 'x' in mix_list
False
8.连接操作符(+)
连接操作符允许我们把多个列表对象合并在一起,列表类型的连接操作只能在同类型之间进行,不能把两个不同类型的对象连接在一起,即使他们都是序列类型也不行
>>> list1 = [1, 2, 3]
>>> list2 = ['a', 'b', 'c']
>>> list1 + list2
[1, 2, 3, 'a', 'b', 'c']
9.重复操作符(*)
列表和元组属于序列类型,可使用重复操作符
>>> list1 = [1, 2, 3]
>>> list1*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
10.标准类型函数
cmp():
对两个列表的元素进行比较;
如果比较的元素是同类型的,则比较其值,返回结果;
如果两个元素不是同一个类型,则检查它们是否是数字;
如果是数字,执行必要的数字强制类型转换,然后比较;
如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的");
否则,通过类型名字的字母顺序进行比较;
如果有一个列表首先到达末尾,则另一个长一点的列表"大";
如果我们用尽了两个列表的元素而且所有元素都是相同的,那么结果就是平局,返回一个0。
11.序列类型函数
- len():对字符串来说返回字符串的长度,也就是字符个数;对列表或者元组来说,返回列表或元组的元素个数;容器里面的每个对象被当做一项来处理。
>>> mix_list = [4.1, [1, -90.1], 'beef', (-1.9+6j)]
>>> len(mix_list)
4
- max()和min():对只包含数字或者字符串的列表,该函数比较有用;
>>> lstr = ['abc', 'befc', 'cdef']
>>> max(lstr)
'cdef'
- sorted()和reversed():sorted()默认为升序,reserved()反转;
>>> s = ['They', 'stamp', 'when', 'smail']
>>> sorted(s)
['They', 'smail', 'stamp', 'when']
>>> for i in reversed(s):
... print i
...
smail
when
stamp
They
- enumerate()和zip():enumerate()函数同时循环索引和循环元素;zip()返回一个列表,其第一个元素是it0、it1…这些元素的第一个元素组成的一个元组,第二个。。。依此类推;
>>> s = ['They', 'stamp', 'when', 'smail']
>>> for i, m in enumerate(s):
... print i, m
...
0 They
1 stamp
2 when
3 smail
>>>
- sum():求和
>>> sum([1, 2, 3])
6
- list()和tuple():接受可迭代对象作为参数,通过浅拷贝数据来创建一个新的列表或者元组,更多的情况下用于两种类型之间的类型转换。
>>> alist = [1, 2, 3]
>>> atuple = tuple(alist)
>>> alist, atuple
([1, 2, 3], (1, 2, 3))
附录:列表类型内建函数
列表函数 |
作用 |
list.append(obj) |
向列表中添加一个对象obj |
list.count(obj) |
返回一个对象obj在列表中出现的次数 |
list.extend(seq) |
把序列seq的内容添加到列表中 |
list.index(obj, i=0, j=len(list)) |
返回list[k]==obj的k值,并且k的范围在i<=k<j,否则引发ValueError异常 |
list.insert(index, obj) |
在索引量为index的位置插入对象obj |
list.pop(index=-1) |
删除并返回指定位置的对象,默认是最后一个对象 |
list.reverse() |
原地翻转列表 |
list.sort(func=None, key=None, reverse=False) |
以指定的方式排序列表中的成员,如果func和key参数指定,则按照指定的方式比较各个元素,如果reverse标志被置为True,则列表以反序排列。 sort()默认的排序算法是归并排序(或者说"timsort")的衍生算法 |
>>> al = [1]
>>> al.insert(0, 12)
>>> al.append('b')
>>> al
[12, 1, 'b']
>>> al.index(1)
1
>>> al.sort()
>>> al
[1, 12, 'b']
>>> al.reverse()
>>> al
['b', 12, 1]
python类型-序列-列表的更多相关文章
- python类型-序列-字符串
python中单引号和双引号的含义是一样的.字符串是一种直接量或者说是一种标量,是不可变类型,字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序的访问. python实际有三类字符串:通常意 ...
- python类型-序列
注:本文档主要是学习<Python核心编程(第二版)>时做的资料整理. 1.序列 序列的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员,包括字符串(普通字符串和Unic ...
- python类型-序列-元组
元组是一种不可变类型,元组可用作一个字典的key. 1.创建一个元组并进行赋值 atuple = (123, 'abc', ('inner', 'tuple'), 7-9j) 2.访问元组中的值 元组 ...
- Python中高级变量类型(列表,元组,字典,字符串,公共方法...)
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- NO.2:自学python之路------变量类型、列表、字典
引言 本周初步认识了库,并学习了Python中各种类型的变量和常用操作.并完成了较为完善的用户与商家购物界面设计. 正文 模块: Python有标准库和第三方库.第三方库需要安装才能使用.大量的库可以 ...
- Python序列——列表
列表是什么 1 创建列表 2 访问列表和更新列表 列表相关操作 内建函数对列表的支持 1 cmp 2 序列类型函数 列表内建函数 列表应用 1 堆栈 2 队列 1. 列表是什么 列表也是序列的一种.列 ...
- python笔记(1)--序列(列表 元组 range)
一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之列表类型(list)
Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表 ...
- Python语言之数据结构1(序列--列表,元组,字符串)
0.序列 列表,元组,字符串都是序列. 序列有两个特点:索引操作符和切片操作符.索引操作符让我们可以从序列中抓取一个特定项目.切片操作符让我们能够获取序列的一个切片,即一部分序列. 以字符串为例: 1 ...
随机推荐
- Vue2.0 Vue.set的使用
原文链接: https://blog.csdn.net/qq_30455841/article/details/78666571
- HDU - 6333 Problem B. Harvest of Apples (莫队)
There are nn apples on a tree, numbered from 11 to nn. Count the number of ways to pick at most mm a ...
- 洛谷——P1305 新二叉树(新建二叉树以及遍历)
题目描述输入一串二叉树,用遍历前序打出. 输入输出格式输入格式: 第一行为二叉树的节点数n.(n \leq 26n≤26) 后面n行,每一个字母为节点,后两个字母分别为其左右儿子. 空节点用*表示 输 ...
- HBase的TTL介绍
1. 定义 TTL(Time to Live) 用于限定数据的超时时间. 2.原理 以Column Family的TTL为例介绍, hbase(main):001:0> desc 'wxy:te ...
- .NET ORM 开源项目 FreeSql 1.0 正式版发布
一.简介 FreeSql 是 .NET 平台下的对象关系映射技术(O/RM),支持 .NetCore 2.1+ 或 .NetFramework 4.0+ 或 Xamarin. 从 0.0.1 发布,历 ...
- 从头学pytorch(七):dropout防止过拟合
上一篇讲了防止过拟合的一种方式,权重衰减,也即在loss上加上一部分\(\frac{\lambda}{2n} \|\boldsymbol{w}\|^2\),从而使得w不至于过大,即不过分偏向某个特征. ...
- 解析GMT+N时区,返回日期类型
涉及到正则表达式,时区转换. /** * * 按格式 yyyy-MM-dd HH:mm:ss 以指定GMT时区进行解析,返回对应的当前系统时区当地时间. * @param dateString 格式 ...
- 使用SonarQube+Eclipse来分析python代码
背景 最近在项目中推广集成测试的理念以及相关工具,在jenkins中集成sonar去分析项目的java代码的时候,意外的发现,sonarqube上还有对应python的插件,而自己写的测试工具大部分都 ...
- Appium环境搭建超详细教程
前言: 本系列教程会从软件的基本安装开始,最终目的是通过完成几个案例后, 大家实现自由抓取App中想要的资源. 本系列以后会更的: Appium基本使用及控制真机及安卓模拟器 Mitmproxy抓包工 ...
- 查找2-n之间素数的个数
题目描述 查找2-n之间素数的个数.n为用户输入值.素数:一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数.如2,3,5,7,11,13,17…. 输入 整数n 输出 2-n ...