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 ...
随机推荐
- B. Vile Grasshoppers
http://codeforces.com/problemset/problem/937/B The weather is fine today and hence it's high time to ...
- docker - kubernetes 网络(转)+ 架构图
1.host网络 连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样.可以通过--network=host指定使用 host 网络.docker ...
- 使用putty进行ssh tunnel远程内网机器
通常我们通过登录具有外网ip的远程机器来连接内网的机器:本文介绍,通过putty进行ssh tunnel,进而达到使用本机直接连接远程内网机器: 1,在putty中创建一个session,输入具有外网 ...
- RHEL 7.6 安装 Oracle 18c RAC
RHEL 7.6 安装 Oracle 18c RAC 第一部分 安装规划 虚拟环境 VirtualBox 6.0 OS 版本 Red Hat Enterprise Linux Server relea ...
- 【js】走近小程序(2) 常见问题总结
一.API请求? 二.基础库兼容? 三.不同页面之间的传值 一.API请求? wx.request({ url: 'test.php', // 仅为示例,并非真实的接口地址 data: { x: ...
- PostMan测试接口,绕过登录验证
之前测试的时候,需要页面进行登录之后,才能让访问后台程序,但是在进行接口测试的时候,没有验证就一直登录不进去,之后参考了一篇文章.解决如下. 1.在浏览器上先登录,登录成功后获取cookie: 记住J ...
- 一个C语言内存管理模块的实现
C 内存管理模块的编写 C语言手动管理内存很困难,有时候很难发现内存泄漏,这两天看了一下里面有写了一个简单的内存管理模块,发现挺精巧,可以有效检测内存泄漏 原理很简单,就是把C的malloc函数分配的 ...
- 理解IaaS、PaaS、SaaS 的区别
作者:何足道链接:https://www.zhihu.com/question/21641778/answer/62523535来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 关于DFS与BFS
DFS(深度优先搜索) 为无向图 DFS的过程类似于树的先序遍历. 请看图: DFS此图的过程为: 1.首先任意找一个未被便利过的顶点,例如从V1开始,由于率先访问了它,所以需要标记V1即已经访问 ...
- Windows和Linux下通用的线程接口
对于多线程开发,Linux下有pthread线程库,使用起来比较方便,而Windows没有,对于涉及到多线程的跨平台代码开发,会带来不便.这里参考网络上的一些文章,整理了在Windows和Linux下 ...