脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python标准数据类型-List(列表)

Python标准数据类型-List(列表)

2023-10-06 15:02hacker707 Python

本文主要为大家介绍下Python标准数据类型-List(列表)的相关知识,有需要的朋友可以参考下

Python标准数据类型-List(列表)

序列概述

  • 在Python中序列是最基本的数据结构
  • 序列是一块用于存放多个元素的内存空间
  • Python中内置了5个常用的序列结构,分别是列表、字符串、元组、字典、集合

序列的基本操作

索引

  • 序列中的每一个元素都有一个编号称为索引(indexing)

  • 索引从0开始递增(下标为0表示第一个元素、下标为1表示第二个元素以此类推)

    如下图所示:

    Python标准数据类型-List(列表)

  • 索引也可以是负数,从最后一个元素开始计数(下标为-1表示最后一个元素、下标为-2表示倒数第二个元素以此类推)

    如下图所示:

Python标准数据类型-List(列表)

切片

切片操作是访问序列中元素的另一种方法,可以访问一定范围内的元素

实现切片操作的语法格式:sname[start:end:step]

参数说明如下:

sname:序列的名称

start:切片的开始位置(不指定默认为0)

end:切片的结束位置(不指定默认为序列的长度)

step:切片的步长(如果省略默认为1,当忽略步长时,最后一个冒号也可以省略)

实例:创建一个名为demo的编程语言列表,输出指定的元素

demo = ["Python", "Java", "HTML", "CSS", "JavaScript", "Vue"]
print(demo[0:2])  # 获取第1个和第2个元素
print(demo[0:5:2])  # 获取第1、3、5个元素

运行结果如下:

Python标准数据类型-List(列表)

列表简介

创建列表

  • 使用赋值运算符创建列表

    同其他类型的Python变量一样,创建列表时,可以使用赋值运算符=直接将一个列表复制给变量

    创建列表语法格式:listname = [element 1,element 2,element 3,...,element n]

    参数说明如下:

    listname:列表名称

    element:列表中的元素

实例:使用=创建一个列表

demo = ["但行好事", "莫问前程"]

注意事项:

在创建列表时我们可以将不同数据类型的数据放进同一个列表中,但是通常情况下,我们会在一个列表中只放入一种类型的数据,增加程序的可读性

  • 创建空列表

    在Python中,也可以创建空列表,然后再对列表进行一系列操作

实例:创建一个名为hacker的空列表

hacker = []
  • 使用list()创建列表

    在Python中可以使用list()去创建一个列表

    list()语法格式:list(data)

    参数说明如下:

    data:可以转换为列表的数据(可以是range对象、字符串、元组或其他可迭代类型的数据)

实例:创建一个0~10(不包括10)的所有偶数的列表

demo = list(range(0, 10, 2))
print(demo)

Python标准数据类型-List(列表)

访问列表元素

在Python列表中,我们可以使用索引去访问列表中的元素

实例:创建一个名为demo的列表并访问指定索引的元素

demo = ["hello", "python", "world"]
print(demo[1])  # 索引从0开始以此类推

Python标准数据类型-List(列表)

修改列表元素

修改列表元素只需要通过索引获取该元素,然后再重新赋值即可

实例:定义一个名为demo的列表修改索引值为1的元素

demo = ["hello", "python", "world"]
print("修改之前的列表:", demo)
demo[1] = "java"
print("修改之后的列表:", demo)

Python标准数据类型-List(列表)

删除列表元素

删除元素由两种方法:

  • 根据索引删除

    删除列表中的指定元素和删除列表类似,可以使用del语句实现

    实例:创建一个名为demo的列表,删除索引为1的元素

demo = ["hello", "python", "world"]
del demo[1]
print(demo)

运行结果如下:

Python标准数据类型-List(列表)

  • 根据元素值删除

如果想要删除不确定其所在位置的元素可以根据元素值删除,使用列表对象的remove()方法实现

实例:定义一个名为demo的列表删除"python"元素

demo = ["hello", "java", "world"]
demo.remove("java")
print(demo)

Python标准数据类型-List(列表)

注意事项:

这里做了一个错误的示范如果在使用remove()方法进行删除元素时,如果指定的元素不存在会报以下的错误

ValueError: list.remove(x): x not in list:要删除的值不在列表中

Python标准数据类型-List(列表)

当我们要用remove()方法删除元素的时候首先要判断元素是否存在,可以对以上的代码进行改进

说明:count()方法用于判断指定元素出现次数,如果为0该元素不存在

demo = ["hello", "java", "world"]
value = "python"
if demo.count(value) > 0:
    demo.remove(value)
else:
    print("该元素不存在此列表中")

Python标准数据类型-List(列表)

删除列表

对于已经创建好的列表,不再使用使可以使用del语句将其删除

del语句语法格式:del listname

参数说明如下:

listname:要删除的列表名称

实例:定义一个名为demo的列表并将其删除

demo = ["但行好事", "莫问前程"]
del demo

注意事项:

在删除列表前,一定要确定输入的列表名称是已经存在的,否则会报错

NameError: name 'demo' is not define:demo名称未定义

Python标准数据类型-List(列表)

遍历列表的两种方法

使用for循环遍历

直接使用for循环遍历列表,输出元素的值

使用for循环遍历语法格式:for item in listname:

参数说明如下:

item:保存获取到的元素值

listname:要遍历的列表名称

实例:创建一个名为demo的列表,使用for循环遍历此列表输出元素的值

demo = ["hello", "python", "world"]
for item in demo:
    print(item)

Python标准数据类型-List(列表)

使用for循环和enumerate()函数遍历

使用for循环和enumerate()函数遍历列表可以同时输出索引值和元素值

语法格式:for index,item in enumerate(listname):

参数说明如下:

index:保存元素索引

item:保存获取到的元素值

listname:要遍历的列表名称

实例:创建一个名为demo的列表,使用for循环和enumerate()函数遍历输出索引和对应的元素值

demo = ["hello", "python", "world"]
for index, item in enumerate(demo):
    print(index, ":", item)

运行结果如下:

Python标准数据类型-List(列表)

列表常用方法

计算列表元素个数len()

len()方法用于计算列表中元素个数

len()方法语法格式:len(list)

参数说明如下:

list:要计算元素个数的列表

实例:定义一个数字列表demo,计算元素个数

demo = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(len(demo))

Python标准数据类型-List(列表)

获取指定元素出现次数count()

count()方法用于获取指定元素在列表中出现次数

count()方法语法格式:listname.count(obj)

参数说明如下:

listname:列表名称

obj:要指定获取次数的元素

返回值:元素在列表中出现次数

实例:创建一个数字列表,获取7出现的次数

demo = [1, 2, 4, 2, 7, 6, 3, 7, 7, 5, 9]
print(demo.count(7))

Python标准数据类型-List(列表)

返回列表元素最大值max()

max()方法返回列表元素最大值

max()方法语法格式:max(list)

参数说明如下:

list:要返回最大值的列表

实例:返回demo和demo1中元素最大值

demo = ["python", "java", "javascript"]
demo1 = [400, 777, 100]
print("demo最大元素值:", max(demo), "\n" + "demo1最大元素值:", max(demo1))

Python标准数据类型-List(列表)

返回列表元素最小值min()

min()方法返回列表元素最大值

min()方法语法格式:min(list)

参数说明如下:

list:要返回最小值的列表

实例:返回demo和demo1中元素最小值

demo = ["python", "java", "javascript"]
demo1 = [400, 777, 100]
print("demo最小元素值:", min(demo), "\n" + "demo1最小元素值:", min(demo1))

Python标准数据类型-List(列表)

清空列表clear()

clear()方法用于清空列表,与del()方法类似,但是del()是将列表直接删除,clear()只是清空,打印出来是空列表

demo = ["hello", "python", "world"]
demo.clear()
print("列表清空后:", demo)

Python标准数据类型-List(列表)

复制列表copy()

copy()方法用于复制列表

copy()方法语法格式:list.copy()

实例:复制一份demo列表名为为demo1

demo = ["hello", "python", "world"]
demo1 = demo.copy()
print("demo1列表:", demo1)

Python标准数据类型-List(列表)

在列表末尾添加新的元素append()

append()方法用于在列表末尾追加元素

append()方法语法格式:listname.append(obj)

参数说明如下:

listname:要添加元素的列表名称

obj:要添加到列表末尾的元素

实例:创建一个名为demo的列表并在列表末尾追加一个元素

demo = ["hello"]
demo.append("world")
print(demo)

Python标准数据类型-List(列表)

将一个列表中的多个元素添加到另一个列表extend()

extend()方法用于将一个列表多个元素添加到另一个列表,也可以理解为用新列表扩展原来的列表

extend()方法语法格式:list.extend(seq)

参数说明如下:

seq:元素列表,可以是列表、元组、集合、字典

实例:用demo1列表去扩展demo列表

demo = ["hacker707"]
demo1 = ["嘎嘎宠粉"]
demo.extend(demo1)
print("扩展后的列表:", demo)

Python标准数据类型-List(列表)

检索指定元素在列表中首次出现的索引位置index()

index()方法用于检索指定元素在列表中首次出现的索引位置

index()方法语法格式:listname.index(obj)

参数说明如下:

listname:列表的名称

obj:要检索的对象

返回值:元素首次出现的索引值

实例:检索元素"a"首次出现的索引位置

demo = ["h", "a", "c", "k", "e", "r"]
print("a元素首次出现位置:", demo.index("a"))

Python标准数据类型-List(列表)

计算数值列表中各元素的和sum()

sum()方法用于计算数值列表中各元素的和

sum()方法语法格式:sum(iterable[,start])

参数说明如下:

iterable:要计算的列表

start:可选参数,表示计算结果从哪个数开始(默认为0)

实例:定义保存10名学生数学成绩的列表并计算总成绩

score = [97, 90, 100, 77, 73, 96, 89, 77, 79, 92]
print("10名学生数学总成绩:", sum(score))

Python标准数据类型-List(列表)

对列表进行排序sort()

sort()方法用于对原列表元素进行排序

sort()方法语法格式:list.sort( key=None, reverse=False)

参数说明如下:

key:用于指定排序规则(例如设置"key=str.lower"表示在排序时不区分字母大小写)

reverse:可选参数(设置为True降序,设置为False升序)

实例:对10名学生数学成绩进行升序,降序操作

score = [97, 90, 100, 77, 73, 96, 89, 77, 79, 92]
print("原列表", score)
score.sort()
print("升序:", score)
score.sort(reverse=True)
print("降序:", score)

Python标准数据类型-List(列表)

对所有可迭代对象进行排序sorted()

sorted()方法语法格式:sorted(iterable, key=None, reverse=False)

参数说明如下:

  • iterable:可迭代对象,例如列表、元组、集合、字符串等。
  • key:排序时比较的函数,用于指定一个自定义函数来为每个元素生成一个键值,排序时会根据键值进行比较和排序。
  • reverse:排序规则, reverse=True 表示降序排序, reverse=False 表示升序排序(默认)

实例:将alist列表进行升序和降序排序

alist = [10, 8, 1, 4, 3, 6, 5, 7, 2, 9]
print("升序排序:", sorted(alist))
print("降序排序:", sorted(alist, reverse=True))

Python标准数据类型-List(列表)

sorted()和sort()的区别:

  • sorted()不会修改原始可迭代对象,而是返回一个新的排序列表
  • sort()对原始可迭代对象进行排序

删除列表中的一个元素pop()

pop()方法语法格式:list.pop(index)

参数说明如下:

  • index:可选参数,列表中要移除的元素的索引位置,默认为 -1,即移除列表中的最后一个元素。

实例:移除demo列表中索引为1的元素

demo = ["python", "java", "javascript", "mysql"]
print("移除的元素:", demo.pop(1))
print("移除后的列表", demo)

Python标准数据类型-List(列表)

删除列表中某个值的第一个匹配项remove()

remove()方法语法格式:list.remove(element)

参数说明如下:

  • element:要移除的元素
demo = ["python", "java", "javascript", "mysql"]
print("原列表:", demo)
demo.remove("java")
print("移除后的列表:", demo)

Python标准数据类型-List(列表)

如果要移除的元素出现多次,可以使用while循环多次调用remove()方法进行移除

demo = ["python", "java", "javascript", "mysql", "mysql", "mysql"]
print("原列表:", demo)
while "mysql" in demo:
    demo.remove("mysql")
print("移除后的列表:", demo)

Python标准数据类型-List(列表)

结束语

以上就是Python基础入门篇之Python标准数据类型-List(列表)

  • 欢迎大家订阅系列专栏:Python零基础入门篇
  • 此专栏内容会持续更新直到完结为止(如有任何纰漏请在评论区留言或者私信)

感谢大家一直以来对hacker的支持

你们的支持就是博主无尽创作的动力

Python标准数据类型-List(列表)

到此这篇关于Python标准数据类型-List(列表)的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/xqe777/article/details/129646343

延伸 · 阅读

精彩推荐
  • Python浅谈Python之Django(三)

    浅谈Python之Django(三)

    这篇文章主要介绍了Python3中的Django,小编觉得这篇文章写的还不错,需要的朋友们下面随着小编来一起学习学习吧,希望能够给你带来帮助...

    z-victor6412022-02-15
  • PythonPython如何保留float类型小数点后3位

    Python如何保留float类型小数点后3位

    这篇文章主要介绍了Python如何保留float类型小数点后3位,具有很好的参考价值,希望对的大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    quantLearner10192023-02-02
  • Python解决python2.7用pip安装包时出现错误的问题

    解决python2.7用pip安装包时出现错误的问题

    这篇文章主要介绍了在python2.7用pip安装包时出现错误问题的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。...

    赵克立5802020-09-19
  • PythonPython turtle.right与turtle.setheading的区别讲述

    Python turtle.right与turtle.setheading的区别讲述

    这篇文章主要介绍了Python turtle.right与turtle.setheading的区别,本文以turtle.right为例给大家详细介绍,需要的朋友可以参考下...

    sunpudding7872022-11-15
  • PythonPython 计算任意两向量之间的夹角方法

    Python 计算任意两向量之间的夹角方法

    今天小编就为大家分享一篇Python 计算任意两向量之间的夹角方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Javy Wang12192021-08-02
  • Python用 Python 理清编码问题:Unicode万国码

    用 Python 理清编码问题:Unicode万国码

    为解决语言各自为政的编码,人们提出了Unicode编码方案,这个方案简单粗暴:把世界上所有语言字符统一编码。Unicode的两种方案UCS-2和UCS-4,可使用空间分...

    Python中文社区6302021-04-11
  • Python基于Python 函数和方法的区别说明

    基于Python 函数和方法的区别说明

    这篇文章主要介绍了基于Python 函数和方法的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    RuigeO5272021-09-25
  • Python如何使用PyTorch实现自由的数据读取

    如何使用PyTorch实现自由的数据读取

    这篇文章主要给大家介绍了关于如何使用PyTorch实现自由的数据读取的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学...

    SherlockLiao4872022-11-04