python数据结构(二)------列表
本文将重点梳理列表及列表操作。
2.1 list函数
2.2 基本列表操作
2.3 列表方法
2.1 list函数
>>>list('hello')
['h','e','l',l','o']
注:list函数适用于所有类型的序列,而不只是字符串。
2.2 基本列表操作
2.2.1 改变列表:元素赋值
>>>x = [1,3,5]
>>>x[0] = 'a'
>>>x
['a',3,5]
注:不能对不存在的元素赋值,即x[0]~x[2]存在,可赋值,x[3]不存在,不可赋值。
2.2.2 删除元素
>>>names = ['jack','bob','tom','alice']
>>>del names[1]
>>>names
['jack','tom','alice']
2.2.3 分片赋值
>>>name = 'anthony'
>>>namelist = list(name)
['a','n','t','h','o','n','y']
#步长为1时,替换原分片位置为赋值列表
>>>namelist[1:3] = ['a','b','c']
['a', 'a', 'b', 'c', 'h', 'o', 'n', 'y']
#步长为2时,赋值列表长度必须与原分片元素数一致
>>>namelist[::2] = [1,2,3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: attempt to assign sequence of size 3 to extended slice of size 4
>>>namelist[::2] = [1,2,3,5]
>>>namelist
[1, 'a', 2, 'c', 3, 'o', 5, 'y']
#分片操作可以实现删除序列功能
>>>namelist[1:] = []
>>>namelist
['a']
2.3 列表方法
2.3.1 append
#append方法实现列表末尾追加新的对象;
>>>lst = ['a','b',4]
>>>lst.append('a')
['a', 'b', 4, 'a']
#直接修改原列表
2.3.2 count
#count方法统计某个元素在列表中出现的次数;
>>>lst.count('a')
2
2.3.3 extend
#extend方法实现在列表的末尾追加另一个序列中的多个值;
>>>lst2 = [1,2,3]
>>>lst.extend(lst2)
>>>lst
['a', 'b', 4, 'a', 1, 2, 3]
#extend方法不同于级联操作”+“,extend方法是在原列表直接修改,而“+”操作是返回一个新的列表
>>>a = ['a','a','b']
>>>b = [1,2,3]
>>>a+b
['a','a','b',1,2,3]
>>>a
['a','a','b']
2.3.4 index
#index方法用于寻找列表中某个值第一个匹配项的索引位置;
>>>names = ['jack','tom','alice','rose','timor']
>>>names.index('jack')
0
>>>names.index('sam')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'sam' is not in list
2.3.5 insert
#insert方法用于将对象插入列表中;
>>>numbers = [1,2,3,4,5,6,7]
>>>numbers.insert(3,'a')
>>>numbers
[1,2,3,'a',4,5,6,7]
#同样可以用分片操作完成
>>>numbers[3:3] = ['a']
[1,2,3,'a','a',4,5,6,7]
2.3.6 pop
#pop方法会移除列表中的一个元素(默认最后一个);
>>>x = [1,2,3]
>>>x.pop()
3
>>>x
[1,2]
>>>x.pop(0)
1
>>>x
[2]
2.3.7 remove
#remove方法用于移除列表中某个值的第一个匹配项;
>>>x = ['alice','tome','time','jack']
>>>x.remove('alice')
[tome','time','jack']
2.3.8 reverse
#reverse方法将列表中的元素逆向存放;
>>>x = [1,3,5]
>>>x.reverse()
>>>x
[5,3,1]
2.3.9 sort
#sort方法在原位置进行排序;
>>>x = [4,6,9,7,8]
>>>x.sort()
>>>x
[4,6,7,8,9]
#sort方法无返回值,因此,y = x.sort() 返回值为None
python数据结构(二)------列表的更多相关文章
- python数据结构-数组/列表/栈/队列及实现
首先 我们要分清楚一些概念和他们之间的关系 数组(array) 表(list) 链表(linked list) 数组链表(array list) 队列(queue) 栈(stack) li ...
- python 数据类型二 (列表和元组)
一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...
- Python数据结构之列表、元组及字典
一位大牛Niklaus Wirth曾有一本书,名为<Algorithms+Data Structures=Programs>,翻译过来也就是算法+数据结构=程序.而本文就是介绍一下Pyth ...
- Python数据结构之列表
1.Python列表是Python内置的数据结构对象之一,相当于数组 2.列表用[] 包含,内有任意的数据对象,每一个数据对象以 ,逗号分隔,每隔数据对象称之为元素 3.Python列表是一个有序的序 ...
- Python数据结构:列表、元组和字典
在Python中有三种内建的数据结构——列表list.元组tuple和字典dict 列表中的项目包括在方括号中,项目之间用逗号分割 元组和列表十分类似,只不过元组和字符串一样是不可变的 即你不能修改元 ...
- python语言(二)列表、字典、集合、文件读写、关系测试
1.列表 list 代码 s = '王宇建,苏红,邹存才...' # 列表 数字 list l = ['王宇建','苏红','邹存才'] # 一维数组 二维数组 三维数组 # 0 1 2 # 索引 ...
- Python数据结构 将列表作为栈和队列使用
列表作为栈使用 Python列表方法使得列表作为堆栈非常容易,最后一个插入,最先取出(“后进先出”).要添加一个元素到堆栈的顶端,使用 append() .要从堆栈顶部取出一个元素,使用 pop() ...
- Python数据结构——散列表
散列表的实现常常叫做散列(hashing).散列仅支持INSERT,SEARCH和DELETE操作,都是在常数平均时间执行的.需要元素间任何排序信息的操作将不会得到有效的支持. 散列表是普通数组概念的 ...
- Python数据结构:列表、字典、元组、集合
列表:shoplist = ['apple', 'mango', 'carrot', 'banana']字典:di = {'a':123,'b':'something'}集合:jihe = {'app ...
- Python数据结构之四——set(集合)
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 经过几天的回顾和学习,我终于把Python 3.x中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...
随机推荐
- Open SuSE 设置开关机时自动执行脚本
在open SuSE中,有两个文件是用于存放开机自动执行命令的.这两个文件分别是: /etc/init.d/before.local /etc/init.d/after.local /etc/init ...
- PyCharm 服务器激活地址
http://www.cnblogs.com/littlehb/p/7784517.html
- centos7,zabbix3.2通过zabbix_java_gateway监控jmx[java/tomcat]
网络上很多教程也比较多和全了,但是自己做时候多多少少的坑备注下吧. 1,监控原理简单说一下,就是zabbix_server通过代理(zabbix_java_gateway)来获取agent端(tomc ...
- Grafana短信报警实现
1.阿里云短信服务API2.Jenkins-plugin:Generic Webhook Trigger Plugin 阿里云 下载阿里云短信服务SDK 创建短信服务ACCESS_KEY_ID Gra ...
- Why Everyone Should Lift Weights
Why Everyone Should Lift Weights by James Clear I'll say it plain and simple: you should be lifting ...
- MySQL InnoDB 事务实现过程相关内容的概述
MySQL事务的实现涉及到redo和undo以及purge,redo是保证事务的原子性和持久性:undo是保证事务的一致性(一致性读和多版本并发控制):purge清理undo表空间背景知识,对于Inn ...
- 《Dare To Dream 》第三次作业--团队项目的原型设计与开发
一.实验目的与要求 1.掌握软件原型开发技术: 2.学习使用软件原型开发工具: 二.实验内容与步骤 任务1:针对实验六团队项目选题,采用适当的原型开发工具设计团队项目原型: 任务2:在团队博客发布博 ...
- ARTS打卡计划第一周-Algorithm
7. Reverse Integer import math class Solution: def reverse(self, x: int) -> int: ret = 0 if x > ...
- CodeForces - 864C-Bus-(模拟加油站问题)
https://vjudge.net/problem/CodeForces-864C 题意:两地之间有个加油站,往返走k个单程,最少加油多少次. 大佬几十行代码就解决,我却要用一百多行的if语句模拟解 ...
- 爬虫之Selenium 动态渲染页面爬取
Selenim 是一个自动化测试工具,可以利用它驱动浏览器执行特定的动作,如点击.下拉等操作,同时可以获取浏览器当前呈现的页面的源代码,做到可见及可爬 1.使用流程 1)声明浏览器对象 Seleniu ...