Python基础(3) - 数据类型:3列表类型
Python
列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等。列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作。列表用[]包括起来的。
列表操作符:
“+”:可以链接两个List,出于性能考虑,推荐使用extend替代。
“*”:可以对List进行重复操作。
“[:]”:可以对List进行切片操作。
“in” “not in”:成员测试符号。
“==” “<” “>” “!=“:比较两个List。
内置函数:
cmp() len() max() min()同样可以应用于List对象。
方法函数:
append(x) 在列表尾部追加单个对象x。使用多个参数会引起异常。
count(x) 返回对象x在列表中出现的次数。
extend(L) 将列表L中的表项添加到列表中。返回None。
Index(x) 返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。
insert(i,x) 在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。
pop(x) 删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。
remove(x) 删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。
reverse() 颠倒列表元素的顺序。
sort() 对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。
对于append()与extend()看似类似,其实不同。extend 接受一个参数, 这个参数总是一个 list, 并且添加这个 list 中的每个元素到原 list 中。append 接受一个参数, 这个参数可以是任何数据类型, 并且简单地追加到 list 的尾部。
>>> l = ['a','b','c']
>>> l.extend(['d','e','f'])
>>> l
['a', 'b', 'c', 'd', 'e', 'f']
>>> l = ['a','b','c']
>>> l.append(['d','e','f'])
>>> l
['a', 'b', 'c', ['d', 'e', 'f']]
>>>
用List模拟堆栈:
>>> stack = []
>>> stack.append(1)
>>> stack.append(2)
>>> stack.append(3)
>>> stack
[1, 2, 3]
>>> stack.pop()
3
>>> stack
[1, 2]
用List模拟队列:
>>> queue = []
>>> queue.append(1)
>>> queue.append(2)
>>> queue.append(3)
>>> queue
[1, 2, 3]
>>> queue.pop(0)
1
>>> queue
[2, 3]
映射List:
Python 的强大特性之一是其对 list 的解析, 它提供一种紧凑的方法, 可以通过对 list 中的每个元素应用一个函数, 从而将一个 list 映射为另一个 list。
>>> l = [1,2,3,4]
>>> [elem * 2 for elem in l]
[2, 4, 6, 8]
Python 循环遍历 li 中的每个元素。对于每个元素均执行如下操作, 首先临时将其值赋给变量 elem, 然后 Python 应用函数 elem*2 进行计算, 最后将计算结果追加到要返回的 list 中。
对 list 的解析并不改变原始的 list
Python还为我们提供了相应的内置函数来执行List的映射操作。
map():map(function, sequence) -> list
该函数返回一个List,其中的值是sequence中的item作为参数应用function的结果。
>>> map(hex, l)
['0x1', '0x2', '0x3', '0x4']
reduce():reduce(function, sequence[, initial]) -> value
该函数会把sequence的前两个item作为参数传给function,然后得出的结果再与下一个item作为参数传给function,直到整个sequence结束。
>>> reduce(add, [1,2,3,4,5,6,7,8,9])
45
filter():filter(function or None, sequence) -> list, tuple, or string
该函数把sequece的每一个item作为参数传给function,返回function认为是true的值组成的序列对象。结果的数据类型依赖与sequence,如果sequence是tuple或者是string,返回的结果类型同传入的类型,否则返回list类型。如果function是None,则返回的值就是sequence为真的值组成的序列对象。
>>> def foo(x):
... return 'love' in x
>>> filter(foo,['i love python', 'i hate python'])
['i love python']
Python基础(3) - 数据类型:3列表类型的更多相关文章
- python基础一数据类型之列表
摘要: python基础一中写到列表,那么这篇主要讲列表. 1,定义列表 2,列表.元祖.字符串都属于序列,都可以用用索引和切片. 3,列表的方法 1,定义列表 list1 = ['a','b',1, ...
- Python基础一数据类型之数字类型
摘要: python基础一中提到了数据类型,这里主要讲解的是数字类型. 数字类型: 1,整型 2,长整型 3,浮点型 4,复数型 1,整型(int) 定义a = 1 通过type函数查看数据类型,整型 ...
- Python基础(3) - 数据类型:2字符串类型
Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...
- python基础之数据类型和数值类型
python3的六大数据类型: 1.tuple元组 2.number数字 3.string字符串 4.set集合 5.list列表 6.dictionary字典 其中不可变数据3个:tuple.num ...
- Python基础(3) - 数据类型:1数字类型
Python数据类型 数据类型 是否容器 是否可变 存储方式 数字 否 否 直接 字符串 否 否 直接 列表 是 是 顺序 元组 是 否 顺序 字典 是 是 映射 数字类型 整 型:1,234,0, ...
- Python基础:1.数据类型(列表)
提示:python版本为2.7,windows系统 1.列表(List) List,是一个有序的集合,可以添加.删除其中的元素. >>> colors = ['red', 'oran ...
- Python基础(3) - 数据类型:5字典类型
Python Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系 .它是用{}括起来的.每个Dictionary的项的句法为:key:value. Dicti ...
- Python基础(3) - 数据类型:4元组类型
Python Tuple 是不可变 list. 一旦创建了一个 tuple 就不能以任何方式改变它.Tuple是用()包括起来的. Tuple与List都是按照定义的顺序进行排序的,索引从0开始,与 ...
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
随机推荐
- ASP.NET mvc4 Controllder 同步还是异步
从抽象类Controller 的定义可以看出他 同时实现了 IAsyncController, IController public abstract class Controller : Contr ...
- 长按tools Icon 弹出Tips音效
快速点击,还没弹出tips,bubble音效已播放 在 Widget_ToolsTips 的 OnAwake 函数加一个延时 transform:DOScale(1, 0.1):OnComlete(f ...
- Word页面去除下划线(Office 2017)实现
后面就不用说了吧设置边框无
- Binder学习笔记(一)
网上看了很多关于binder的文章,但我还是想把自己的心路历程记录下来,有些是跟着别人的脚步领略险峻风景,有些则是自己只身探入代码深处打捞出的收获.我不确定是否全部融会贯通,更担心一两个月后会完全不记 ...
- WinServer下DNS随笔
关于DNS:#hosts文件优先于dns解析.(同VIM注释)#SOA(权威记录)区域所有者包含NS(域名服务器记录)权威解析.关于SOA(权威记录)和NS(域名服务器记录)栗子:SOA爲什麼是dns ...
- jar -- java文档归档工具
参考文档 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/jar.html http://blog.chinaunix.net ...
- Flink学习笔记:Operators之CoGroup及Join操作
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- 牛客网NOIP赛前集训营-提高组(第四场)B区间
牛客网NOIP赛前集训营-提高组(第四场)B区间 题目描述 给出一个序列$ a_1 \dots a_n$. 定义一个区间 \([l,r]\) 是好的,当且仅当这个区间中存在一个 \(i\),使得 ...
- 你不可不知的数据库northwind
说起northwind,40左右的大年一定不会陌生,它是著名的northwind示例库,在SQL Server 是标配. 它有8张表,涉及客户.商品.订单. 如果你是有志从事企业级应用开发,或有志从事 ...
- Alluxio学习
介绍 Alluxio(之前名为Tachyon)是世界上第一个以内存为中心的虚拟的分布式存储系统.它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁.应用只需要连接Alluxio即可访问存储 ...