广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python列表与列表算法详解
  • 539
分享到

python列表与列表算法详解

2024-04-02 19:04:59 539人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 序列类型定义2. 列表的基础知识2.1 列表定义2.2 列表基本操作总结1. 序列类型定义 序列是具有先后关系的一组元素 序列是一维元素向量,元素类型可以不同

1. 序列类型定义

序列是具有先后关系的一组元素

  • 序列是一维元素向量,元素类型可以不同
  • 类似数学运算序列:S0,S1,…,S(n-1)
  • 元素间由序号引导,通过下表访问序列的特定元素

序列是一个基类类型

在这里插入图片描述

序列处理函数及方法

在这里插入图片描述

序列类型通用函数和方法

在这里插入图片描述

2. 列表的基础知识

2.1 列表定义

列表(list):是可变的序列型数据,也是一种可以存储各种数据类型的集合,用中括号([ ])表示列表的开始和结束,列表中的各元素之间使用半角逗号(,)分隔,且列表中每个元素都有一个对应的下标。

1)列表是序列类型的一种扩展,十分常用

  • 列表是一种序列类型,创建后可以随意被修改
  • 使用[ ]或list()创建,元素间用英文逗号分隔
  • 列表中各元素类型可以不同,无限长度

a = []   #空列表
a = [1,2,3,None,'bdshsvh',[1,2,3,5]]

列表中的数据可以是python支持的任意数据。

2)列表的下标

列表的下表也是从0开始表示,反向则从-1开始。

在这里插入图片描述

2.2 列表基本操作

列表支持对集合元素进行增加、查找、修改、删除、合并操作等。

在这里插入图片描述

1)列表元素的增加

append()方法:存在元素的列表尾部新增元素。


>>> fruits = ['apple',5,'peach',2,'watermelon',12]    #原有列表
>>> fruits.append('pear')   #用append()方法增加新元素
>>> fruits.append(15)
>>> print(fruits)
['apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]

insert()方法:可以在列表的任意指定位置增加元素。insert()方法的第一个参数为需要插入元素的列表的下表,第二个参数为指定的新增元素值。


>>> fruits.insert(0,'starfruit')
>>> fruits.insert(1,14.2)
>>> print(fruits)
['starfruit', 14.2, 'apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]

2)列表元素查找

index()方法:语法格式L.index(value,[start[,stop]]),其中L为列表对象,value代表需要在列表中查找的元素,start代表在列表中查找元素时开始查找的下标数,stop代表查找结束时的下标数,start和stop参数可选。若查找到元素,则返回第一个找到的元素,若没有找到,则返回“ValueError…”错误信息。


>>> fruits.index("pear")
8
>>> fruits.index(1)
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    fruits.index(1)
ValueError: 1 is not in list
>>> fruits.index(2,5,12)
5

in成员运算符判断


>>> 'a' in fruits
False

用in判断的好处是不会产生报错信息。

用下标读取对应的元素


>>> fruits[5]
2
>>> fruits[8]
'pear'

切片读取


>>> fruits[5:]
[2, 'watermelon', 12, 'pear', 15]

3)列表元素修改

列表通过指定下标,对对应的元素进行赋值修改。


>>> ls = ['Tom',1,5,8]
>>> ls[2] = 8
>>> ls
['Tom', 1, 8, 8]
>>> ls[3] = '元'
>>> ls
['Tom', 1, 8, '元']

4)列表元素修改

clear()方法:清楚列表中的所有元素。


>>> fruits.clear()
>>> fruits
[]
>>> len(fruits)
0

pop()方法:语法格式L.pop([index]),L代表列表,index为可选参数,当指定index参数时,删除对应下标位置处的元素(如果指定的参数值不在列表下标数中,会报错)。pop()默认删除列表尾部的第一个元素。


>>> listpop = ['球1','球2','球3']
>>> get_one = listpop.pop()
>>> print(get_one,'',listpop)
球3  ['球1', '球2']
>>> listpop.pop(2)
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    listpop.pop(2)
IndexError: pop index out of range

remove()方法:L.remove(value),L代表列表,value代表要删除的元素,如果要删除的元素有多个时,只会删除左边的第一个。


>>> listpop = ['球1','球2','球3','球2']
>>> listpop.remove('球2')
>>> listpop
['球1', '球3', '球2']
>>> 

del函数:可以删除指定的元素,也可以删除整个列表。


>>> del(listpop[2])
>>> listpop
['球1', '球3']
>>> del(listpop)
>>> listpop
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    listpop
NameError: name 'listpop' is not defined
>>> 

5)列表元素合并

对于两个列表对象的合并,可以通过extend()方法


>>> team1 = ["张三","李四","王五"]
>>> team2 = ["Tom","John"]
>>> team1.extend(team2)
>>> team1
['张三', '李四', '王五', 'Tom', 'John']
>>> 

采用“+”也可以实现两个列表对象的合并,但是会改变team1的内存地址,表示team1合并后被重新定义了,不再是最初的team1.


>>> team1 = ["张三","李四","王五"]
>>> team2 = ["Tom","John"]
>>> id(team1)
2172213272840
>>> team1.extend(team2)
>>> id(team1)
2172213272840
>>> team1 = team1 + team2
>>> team1
['张三', '李四', '王五', 'Tom', 'John']
>>> id(team1)
2172213337736

6)列表元素排序

sort()方法:L.sort(key=None,reverse=False),L表示列表,key为可选参数,用于指定在作比较之前调用何种函数对元素进行处理,如key = str.lower(将大写字母转换为小写字母函数),reverse为可选参数,默认情况下为增序(一般根据ASCII码从小到大对字符、数字进行排序)排序。


>>> fruits = ['banana','pear','apple','peach']
>>> fruit_1 = fruits.copy()
>>> fruit_1.sort()
>>> fruit_1
['apple', 'banana', 'peach', 'pear']
>>> fruit_h = fruits.copy()
>>> fruit_h.sort(reverse=True)
>>> fruit_h
['pear', 'peach', 'banana', 'apple']
>>> 

fruits = ['banana','pear','Apple','peach']
>>> fruit_s = fruits.copy()
>>> fruit_s
['Apple', 'banana', 'peach', 'pear']

7)列表其他操作方法

copy()方法:对列表进行拷贝。


>>> fruit_s = fruits.copy()
>>> fruit_s
['banana', 'pear', 'Apple', 'peach']
>>> id(fruits)
2172213342792
>>> id(fruit_s)
2172213273608

count()方法:对列表指定元素个数进行统计。


>>> vegetable = ['白菜','青菜','萝卜','芹菜','菠菜','白菜','花菜']
>>> vegetable.count('白菜')
2

reverse()方法:对列表对象永久性反向记录。


>>> vegetable = ['白菜','青菜','萝卜','芹菜','菠菜','白菜','花菜']
>>> vegetable.reverse()
>>> vegetable
['花菜', '白菜', '菠菜', '芹菜', '萝卜', '青菜', '白菜']
>>> 

列表解析

语法:


[expression for iter_val in iterable]
[expression for iter_val in iterable if cond_expr]

说明:expression为基于元素的运算表达式,如i**2,对每一个元素求平方,iter_val为从列表iterable迭代获取的元素i,if子句判断元素,cond_expr为判断元素表达式。


>>> nums = [i**2 for i in range(11) if i>0]
>>> nums
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

相当于:


>>> nums =[]
>>> for i in range(1,11):
	nums.append(i**2)
>>> nums
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: python列表与列表算法详解

本文链接: https://www.lsjlt.com/news/132877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python列表与列表算法详解
    目录1. 序列类型定义2. 列表的基础知识2.1 列表定义2.2 列表基本操作总结1. 序列类型定义 序列是具有先后关系的一组元素 序列是一维元素向量,元素类型可以不同 ...
    99+
    2022-11-12
  • python列表与列表算法详解(2)
    目录2. 案例【三酷猫冒泡法排序】3. 案例【三酷猫二分法查找】总结1. 案例【三酷猫列表记账】 操作需求: (1)用列表对象记录三酷猫每天钓鱼的种类和数量 (2)统计三酷猫所钓...
    99+
    2022-11-12
  • Python 列表与链表的区别详解
    目录python 列表和链表的区别列表的实现机制链表链表与列表的差异python 列表和链表的区别 python 中的 list 并不是我们传统意义上的列表,传统列表——通常也叫作链...
    99+
    2022-11-12
  • python:列表详解
    目录列表list1、列表创建2、列表访问1)一维列表的访问2)二维列表的访问3、修改元素5、del命令6、列表运算1)列表相加2)列表相乘7、列表方法1) index(value[,...
    99+
    2022-11-12
  • python之列表详解
    文章目录 一.创建列表1.基于弱数据类型语言的定义2.通过全局函数list()定义3.创建空列表 二.访问列表的值1.通过下标索引2.通过for循环遍历3.通过while循环遍历 ...
    99+
    2023-10-18
    python 开发语言 后端 列表
  • python计算列表元素与乘积详情
    目录插入代码块列表乘积计算插入代码块 使用sum函数: numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(sum(numbers)) 使...
    99+
    2022-11-11
  • python系列(三)python列表详
    博主QQ:819594300博客地址:http://zpf666.blog.51cto.com/有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!本博文阅读目录:1)len函数//查看列表的个数2)序列[索引号] //查看索引号对应...
    99+
    2023-01-31
    系列 列表 python
  • Python 列表切片详解
    一、列表切片      切指–将某些东西切成小块。列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。      Python中符合序列的有序序列都支持切片(sli...
    99+
    2023-09-24
    python 开发语言
  • Python 列表排序详解
    在Python中,对列表进行排序有两种方法。 一种是调用 sort() 方法,该方法没有返回值,对列表本身进行升序排序。 cars = ['bmw', 'a...
    99+
    2022-11-12
  • Python入门之列表用法详解
    目录列表是什么列表的CRUD创建列表访问列表中的值更新列表删除元素拼接列表列表相乘判断遍历列表列表常用方法获取列表长度列表后面添加元素指定位置添加元素删除元素返回的是某个元素在列表里...
    99+
    2022-11-11
  • Python算法题----列表去重
    有这样一个列表[1, 1, 1, 2, 3, 3, 2, 4, 3, 4, 5, 5, 5, 6, 7, 8, 9, 9, 9, 9, 10, 10], 写一个函数,将其重复元素去除。这道题,方法很多的有没有。下面就演示一下茴香豆的四种写法...
    99+
    2023-01-31
    算法 列表 Python
  • Python算法题----逆序列表
        有这样一个列表[1, 2, 3, 4, 5, 6, 7, 8, 9]编程实现该列表逆序排列,将其变为[9, 8, 7, 6, 5, 4, 3, 2, 1] 。    题目有了,看看怎么答,逆序排列,只需要将第一个和倒数第一个,第二个...
    99+
    2023-01-31
    逆序 算法 列表
  • python列表详情
    目录1.列表2.使用格式3.一些很有用的函数4.元组 tuple5.元组的常用函数1.列表 python没有数组,而是引入了列表(list),列表可以存储任何类型的数据,而且同一个...
    99+
    2022-11-12
  • Python 列表list详解(超详细)
    文章目录 Python内置函数/方法详解—列表list1、创建列表1.1 使用 [ ] 创建列表1.2 使用 list() 函数 创建(转换为)列表 2、访问列表2.1 下标索引访问2....
    99+
    2023-08-31
    python 开发语言 pycharm 算法 后端
  • Python列表推导式详解
    目录Python列表推导式一、range()函数二、列表推导式三、代码可读性四、字典推导式五、集合推导式Python列表推导式 列表推导式是Python构建列表(list)的一种快捷...
    99+
    2023-05-15
    Python列表推导式 列表推导式 Python推导式
  • Python列表list详解篇(七)
    介绍:列表是最常用的python数据类型,它可以作为一个方括号内的逗号用分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表,只要逗号分隔的不同数据项用方括号括起来即可。name=[‘’beijing,’shenzhen’,’nanj...
    99+
    2023-01-31
    详解 列表 Python
  • pythonrequestpost列表的方法详解
    目录request post 列表的方法原代码解决方案request post 数据中有list和dict方法可是数据中有一段是这样的requests.post数据是会提示未知错误r...
    99+
    2022-11-13
  • Python-列表与元组
       笔记: 在Python中,最基本的数据结构为序列。序列中每个元素都有编号,其位置或索引,其中第一个元素索引为0,第二个为1,以此类推。 Python内置多种序列,其中包含列表、元组、字符串等,他们都可以称为“容器”(字典也称作容器...
    99+
    2023-01-30
    列表 Python
  • python列表与元组的用法
    python列表与元组的用法 目录: 列表的用法: 1.增   append   +    extend 2.删  del    remove 3.改   insert 4.查  index 5.反向  reverse 6.排序   so...
    99+
    2023-01-30
    列表 python
  • GoJava算法之Excel表列名称示例详解
    目录Excel表列名称方法一:数学(Java)方法一:数学(Go)Excel表列名称 给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。 ...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作