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 ...
随机推荐
- Node.js框架之Egg.js
Node.js是我前段时间接触的一个JavaScript的服务端语言,感觉还是挺有意思的. 也许有人说,你学这么多,学的过来吗?或者说学的太多,专而不精,有必要这样吗? 其实,我个人认为,自从我进入I ...
- 神经网络中Epoch、Iteration、Batchsize相关理解
batch 深度学习的优化算法,说白了就是梯度下降.每次的参数更新有两种方式. 第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度.这种方法每更新一次参数都要把数据集里的所有样 ...
- P1796 汤姆斯的天堂梦
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- POJ 3356 水LCS
题目链接: http://poj.org/problem?id=3356 AGTC Time Limit: 1000MS Memory Limit: 65536K Total Submission ...
- L2-014. 列车调度
L2-014. 列车调度 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 火车站的列车调度铁轨的结构如下图所示. Figure ...
- start_kernel之前的汇编代码分析
start_kernel之前的汇编代码分析 Boot中执行下面两句话之后,进入uclinux内核. theKernel = (void (*)(int, int, unsigned int))((ui ...
- 学习JavaWeb aop两种配置方式
aop aop:面向切面编程,它可以解决重复代码. aop有两种方式: 一..xml方式 1.在springmvc-servlet.xml中配置aop,应用bean文件: <!--aop配置-- ...
- block本质探寻七之内存管理
说明: <1>阅读本问,请参照block前述文章加以理解: <2>环境:ARC: <3>变量类型:基本数据类型或者对象类型的auto局部变量: 一.三种情形 //代 ...
- 数据分析-pandas基础入门(一)
最近在学习python,所以了解了一下Pandas,Pandas是基于NumPy的一个开源Python库,它被广泛用于快速分析数据,以及数据清洗和准备等工作. 首先是安装numpy以及pandas, ...
- 学习sbtenv
背景 最近由于工作需要, 我总是在不同的scala项目间流动开发. 这就遇到一个很棘手的问题, 这几个项目用的sbt版本不一致, 老项目用的是 sbt 0.13.15, 新项目用的是 sbt 1.0. ...