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 ...
随机推荐
- vue的filters过滤器的使用
举个例子,过滤后台转过来的时间格式2019-08-29T02:15:08.000+0000转换为2019-08-29T02:15:08 html部分 <span v-if="item. ...
- ZR993
ZR993 首先,这种和平方有关的,首先应当考虑根号做法 这道题目,我们可以直接暴力\(\log_{10}w + 10\)判断一个数是否能够由原数变化的到 直接\(O(\sqrt{n})\)枚举所有的 ...
- ZR7.26
7.26 A 并查集维护,时间复杂度我写的貌似不大对,先鸽一鸽 B 敦爷:\(w\)是这个区间的最大值当且仅当他是这个区间内最大的 我们发现结合昨天课件内的并查集 发现我们每次不断合并的本质是把所有\ ...
- MFC 封装类为静态链接库
mfc自带的基本控件都不怎么美观,所以一般开发者都会自定义类对控件进行重绘.手里也积累了不少控件的重绘,对对话框.静态文本.列表框等. 但是每次都要把这些类重新导入到新的工程里,比较麻烦,而且我也不想 ...
- OpenWrt Kernel Module Creation Howto
OpenWrt Kernel Module Creation Howto About OpenWrt Kernel Module Compilation You are planning to com ...
- 18.函数复习,文件处理b模式(二进制处理),文件处理其他高级玩法
1.函数复习 # map # l = [1,2,3,4,5] # print(list(map(str,l))) # reduce # l = [1,2,3,4,5] # from functools ...
- mysql主从之binlog的工作模式
一 三种模式介绍 1.1 查看mysql主库的binlog格式 binlog仅在主库设置即可,从库无需设置 binlog的默认方式为STATEMENT ( show variables like '% ...
- 从头学pytorch(九):模型构造
模型构造 nn.Module nn.Module是pytorch中提供的一个类,是所有神经网络模块的基类.我们自定义的模块要继承这个基类. import torch from torch import ...
- 洛谷$P2605\ [ZJOI2010]$基站选址 线段树优化$dp$
正解:线段树优化$dp$ 解题报告: 传送门$QwQ$ 难受阿,,,本来想做考试题的,我还造了个精妙无比的题面,然后今天讲$dp$的时候被讲到了$kk$ 先考虑暴力$dp$?就设$f_{i,j}$表示 ...
- h5项目中关于ios手机软键盘导致页面变形的完美解决方案
1.项目背景:vue项目,手机加短信验证码登录: 2.问题: 在ios中input吊起软键盘,输入完成后,收起软件盘,页面不会回弹,导致页面下方出现空白,也就是页面变形: 3.最开始的解决方案是,用i ...