Python序列之列表 (list)
作者博文地址:http://www.cnblogs.com/spiritman/
列表是Python中最基本的数据结构,是Python最常用的数据类型。Python列表是任意对象的有序集合,通过索引访问指定元素,第一个索引是0,第二个索引是1,依此类推。列表可变对象,支持异构、任意嵌套。
创建一个列表
list1 = [] #创建空列表
list2 = ['a','b','c','d','e']
list3 = ['a','b','c',1,2,3]
列表支持的操作方法及实例展示
可以使用dir(list)查看列表支持的所有操作
append
功能:列表添加元素,添加至列表末尾
语法: L.append(object) -- append object to end
L = ['a','c','b','d']
L.append('e')
结果:L
['a','c','b','d','e']
7 l = [1,2,3]
8 L.append(l)
9 结果:L
10['a','c','b','d',[1,2,3]]
count
功能:统计指定元素在列表中的个数
语法: L.count(value) -> integer -- return number of occurrences of value
L = [1,2,3,4,5,5]
L.count(5)
结果:2
l = [1,2,3,4,5,[5,6]]
l.count(5)
结果:1 #只统计第一层的元素个数
extend
功能:迭代字符元素或列表元素
语法: L.extend(iterable) -- extend list by appending elements from the iterable
L= ['a','b','c','d']
l = [1,2,3]
L.extend('e')
结果:L
['a','b','c','d','e']
L.extend(l) #注意与append的区别
结果:L
['a','b','c','d',1,2,3]
index
功能:定位列表中的指定元素
语法: L.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present.
L = ['a','b','c','d']
L.index('c')
结果:2
L.index('f')
结果:Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'f' is not in list
insert
功能:在指定索引位置的元素前面插入新的元素
语法:L.insert(index, object) -- insert object before index
L = ['a','b','c','d']
L.insert(2,'e')
结果:L
['a','b','e','c','d']
pop
功能:删除指定索引值的元素,返回值为当前删除的元素的值。不指定索引值,默认删除最后一个元素
语法:L.pop([index]) -> item -- remove and return item at index (default last). Raises IndexError if list is empty or index is out of range.
L = ['a','b','c','d']
L.pop()
结果:'d'
L.pop(2)
结果:'c'
remove
功能:删除列表中指定的元素
语法:L.remove(value) -- remove first occurrence of value. Raises ValueError if the value is not present.
L = ['a','b','c','d']
L.remove('c')
结果:print L
['a','b','d']
reverse
功能:用于反向列表中的元素
语法:L.reverse() -- reverse *IN PLACE*
L = ['a','b','c','d']
L.reverse()
结果:print L
['d','c','b','a']
sort
功能:对列表中的元素进行排序。
语法:L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1
L = ['d','b',1,2,3,'a','d']
L.sort()
结果:print L
[1,2,3,'a','b','c','d'] L = ['d','b',1,2,3,'a','d',['ab','bc']]
L.sort()
结果:print L
[1, 2, 3, ['ab', 'bc'], 'a', 'b', 'd', 'd']
L1 + L2
功能:合并两个列表,返回一个新的列表,原列表不变
语法:L = L1 + L2 -> list
L1 = ['a','b','c']
L2 = [1,2,3]
L = L1 + L2
结果:
print L
['a','b','c',1,2,3]
print L1
['a','b','c']
print L2
[1,2,3]
L * n
功能:重复输出列表n次,返回一个新列表,原列表不变
语法:L = L1 * n
L1 = ['a','b','c','d']
L = L1 * 3
结果:
print L
['a','b','c','d','a','b','c','d','a','b','c','d']
print L1
['a','b','c','d']
作者博文地址:http://www.cnblogs.com/spiritman/
Python序列之列表 (list)的更多相关文章
- Python 序列、列表(List)、元组(Tuple)
序列 序列是Python中最基本的数据结构,包括字符串.列表.元组. 序列,顾名思义,是有序的,序列都有索引,都能进行索引.切片(截取).加(连接).乘(倍增).检查成员的操作. 因为序列有序,可通过 ...
- Python序列之列表(一)
在Python中,列表是一种常用的序列,接下来我来讲一下关于Python中列表的知识. 列表的创建 Python中有多种创建列表的方式 1.使用赋值运算符直接赋值创建列表 在创建列表时,我们直接使用赋 ...
- Python序列结构--列表(一)
列表 列表**包含若干元素的有序连续内存空间**,当列表增加或删除元素时,**列表对象自动进行内存的扩展或收缩**,从而**保证相邻元素之间没有缝隙**.但插入和删除非尾部元素时涉及列表元素大量的移动 ...
- python 序列结构-列表,元组,字典,字符串,集合
列表 """ name_list.__add__( name_list.__getslice__( name_list.__new__( name_list.append ...
- python序列元素引用容易出错的地方
python序列分列表和元组,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可.举个简单的例子,a1是一个元组,a2是一个列表 ...
- Python基础:序列(列表、元组)
一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...
- Python学习笔记2:构造序列:列表推导和生成器表达式
欢迎访问个人网站:www.comingnext.cn 1. 关于Python内置序列类型 a. 按能否存放不同类型的数据区分 容器序列: list.tuple 和collections.deque这些 ...
- python 序列:字符串、列表、元组
python 序列:字符串.列表.元组 序列:包含一定顺序排列的对象的一个结构 内建函数:str() list() tuple() 可以使用str(obj)可以把对象obj转换成字符串 list( ...
- Python基础系列----序列(列表、元组、字符串)
1.定义 1 ...
随机推荐
- git 代码分支合并merge提交新修改远程以及本地分支
第一步:创建本地分支 点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省 ...
- 视频直播时的QoS策略
一.如何判断当前的网络状况 可以以发送一帧视频数据的时间为依据,判断当前网络拥塞情况. 网络中出现丢包和抖动,导致接收端接收数据超时,会激发发送端数据重传,重传机制本身挤占网络带宽,导致send ...
- ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1498], [18713], [18720]
数据库server出现ORA-00600[kcratr_nab_less_than_odr].不能open数据库 1.open数据库报ORA-00600[kcratr_nab_less_than_od ...
- linux文件系统初始化过程(1)---概述
术语表: struct task:进程 struct mnt_namespace:命名空间 struct mount:挂载点 struct vfsmount:挂载项 struct file:文件 st ...
- .NET中Quartz任务调度器的简单应用实例
1.首先从NuGet中安装Quartz,安装最新版本就OK 2.新建一个Job类实现Quart中的IJob接口用于执行业务逻辑,代码如下: class CheckUpdateJob : IJob { ...
- React-Native使用极光进行消息推送
推送作为APP几乎必备的功能,不论是什么产品都免不了需要消息推送功能,一般做RN开发的可能都是前端出身(比如我),关于android ios 都不是很懂
- scala集合与java集合的转换应用
今天在业务开发中遇到需要Scala集合转为Java集合的场景: 因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆: import scala.collec ...
- Memcached 集群架构问题归纳
集群架构方面的问题o memcached是怎么工作的?o memcached最大的优势是什么?o memcached和MySQL的query cache相比,有什么优缺点?o memcached和服务 ...
- 2017-2018-1 20155230 mypwd实现
mypwd实现 每个文件夹都有以".",".."为名的文件.首先记录"."所拥有的i-节点号,然后使用chdir向上进入父目录查找含有刚记录 ...
- LVM Linear vs Striped Logical Volumes
转自:https://sysadmincasts.com/episodes/27-lvm-linear-vs-striped-logical-volumes About Episode - Durat ...