刘德华告诉你:什么是列表?

2023-11-23 08:50
文章标签 列表 告诉 刘德华

本文主要是介绍刘德华告诉你:什么是列表?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=png

原创小白系列第 5  篇

小白: 小码哥,我经常听到数据结构还有列表,到底这都是什么啊?

小码哥: 今天一起聊一下 什么是列表,并且使用大家喜欢的电影明星为例子。

01
什么是数据结构

数据结构是相互之间存在一种或多种特定关系的集合。

也可以理解为,

数据结构就是将数据按照某种方式组合在一起的结构。

这里的数据也就是python中的基本数据类型数据,比如整型、浮点数、字符串等。在Python中,常见的内置数据结构(也就是自带的)是列表、元组、字典等,

在Python的第三方包中还有其他数据结构,比如Numpy中的Datafram 或者 Series。接下来的内容重点介绍Python中的内置数据结构.

02
什么是列表

列表是由一系列按特定顺序排列的元素组成。也就是列表是有序集合。

在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。

可以给列表起一个名字,并且使用(=)把列表名字和列表关联起来,这就叫做列表赋值。具体如下:

语法定义:

列名名字  =  [元素1,元素2,元素3,........]

 

例子

 

# 定义一个列表

# Python实战圈成员列表

names_python_pc = ['陈升','刘德华','杨幂','TFboys']

print(f'Python实战圈的成员有:{names_python_pc}')

 

Python实战圈的成员有:['陈升', '刘德华', '杨幂', 'TFboys']

 

注意:列表中元素个数是动态的,也就是可以随意添加和删除。这点是与字符串的本质区别:字符串是不能修改,列表是可变的。

 

03
列表的基本操作有哪些呢

在Python中,type()函数被用来查看变量的类型。

只有知道了变量的类型才能对其进行相应的操作,因为不同的数据类型有不同的操作,比如字符串有自己独特的一系列操作。

同样,我们使用该函数查看列表在Python中的类型表示为<class 'list'>,具体如下:

例子

# 查看变量的类型

print('names_python_pc的数据类型是:',type(names_python_pc))

 

names_python_pc的数据类型是:<class 'list'>

在实际项目中,变量的各种类型都会用到。当看到<class 'list'>就表示是列表,我们才可以对其进行列表的各种操作。

列表常见的操作有访问元素、添加元素、修改元素、删除元素以及列表排序等等。

这些操作中经常使用的两个术语是函数和方法,我们需要知道他们的区别。

函数是独自的一个功能单元,直接可以使用,比如函数len(列表名)求列表的元素长度;而方法是依附于对象的,调用方法是对象.方法(),比如列表名.sort(),对列表进行排序,方法是面向对象的一个重要概念。

无论是方法还是函数,随着我们使用的频率增加,自然而言就记住了,不需要刻意的去背诵。

1.访问列表元素:

列表是有序的,每一个元素都自动带有一个位置信息,也就是索引。

在编程语言中,无论Python还是其他的语言,索引都是从0开始,而不是1。

第0个索引对应的元素就是第一个元素,以此类推,比如在列表names_python_pc中,第0个索引对应的列表元素就是’陈升‘;第三个索引,也就是最后一个元素对应的是‘TFboys’

640?wx_fmt=png

访问列表元素的方法是根据索引访问,只需要指出索引号即可。

语法:

列表名[索引号]

 

例子

# 根据索引访问列表元素,并且赋值给变量three_str

three_str = names_python_pc[2]

# 直接打印(print)列表元素或根据变量打印,项目中经常用到

print(names_python_pc[2])

print('列表中第三个元素是:{}'.format(three_str))

 

杨幂

列表中第三个元素是:杨幂

 

访问列表中最后一个元素的方法有两个:第一个是通过索引号[-1]来获取。这个特殊的语法特别有用,尤其在项目中,不知道一个excel文件具体有多少列,

但是我们记得最后一列是想要获取的信息,此时就可以使用该方法;第二个:明确知道列表有多少列,使用最后一列的索引即可。

例子

# 两种方法访问最后一个元素

names_python_pc[-1]

print('使用第一种方法,获得列表最后一个元素是{}'.format(names_python_pc[-1]))

names_python_pc[3]

print('使用第二种方法,获得列表最后一个元素是{}'.format(names_python_pc[3]))

 

使用第一种方法,获得列表最后一个元素是 TFboys

使用第二种方法,获得列表最后一个元素是 TFboys

640?wx_fmt=jpeg

2.添加列表元素:

列表是可变的。在列表中添加元素分为两种情况:

(1)第一种:在指定位置插入一个元素,用到的方法是:

# insert方法 根据索引位置插入元素

insert(index,x)

index 是准备插入到其前面的那个元素的索引; x为需要插入的元素。

 

例子

print('原来的成员列表:{}'.format(names_python_pc))

names_python_pc.insert(0,'魏璎珞')

print('插入新的成员以后的列表:{}'.format(names_python_pc))

 

原来的成员列表:['陈升', '刘德华', '杨幂', 'TFboys']

插入新的成员以后的列表:['魏璎珞', '陈升', '刘德华', '杨幂', 'TFboys']

 

(2)第二种:在列表的末位添加元素,用到的方法是:

# append(x)  x为需要插入的元素,并且是插入到列表的最后

例子

# append(x)

print('原来的成员列表:{}'.format(names_python_pc))

names_python_pc.append('傅恒')

print('插入新的成员以后的列表:{}'.format(names_python_pc))

 

原来的成员列表:['魏璎珞', '陈升', '刘德华', '杨幂', 'TFboys']

插入新的成员以后的列表:['魏璎珞', '陈升', '刘德华', '杨幂', 'TFboys', '傅恒']

这两种方法相比。第一种比第二种的计算代价更高,因为第一种方法的插入位置不确定,之后的所有元素不得不在内部自己移动位置。而第二种方法是在末尾插入,相对比较快。

在项目开发中,第二种方法经常被用来构建一个新的列表。首先,创建一个空的列表,然后在程序运行的过程中使用append()方法添加元素。

例子

# 构建新的列表

yan_xi_gong_luo = []

yan_xi_gong_luo.append('皇上')

yan_xi_gong_luo.append('富察皇后')

yan_xi_gong_luo.append('高贵妃')

yan_xi_gong_luo.append('纯妃')

print('使用append()方法构建列表:{}'.format(yan_xi_gong_luo))

 

使用append()方法构建列表:['皇上', '富察皇后', '高贵妃', '纯妃']

640?wx_fmt=jpeg

32.修改列表元素:

修改列表元素与访问列表元素一样,根据索引即可修改元素的值。

语法:

列表名[index] = '新的值'

 

例子

# 修改第三个元素的值

names_python_pc[2] = '扶摇'

print('修改后的成员列表:{}'.format(names_python_pc))

 

修改后的成员列表:['魏璎珞', '陈升', '扶摇', '杨幂', 'TFboys', '傅恒']

4.删除列表元素:

在项目中,我们经常需要删除列表中的元素。

python可以根据索引值删除,也可以根据元素值删除。

如果我们记得要删除的元素的位置,则可以根据索引值删除,用到的是语句del()或者方法pop。语句del(index) 根据索引值删除元素,并且删除后不可以赋值给任何变量;方法pop()删除列表尾部的元素,或者pop(index)感觉索引值删除,

但是pop方法删除后的元素可以赋值给变量。这就是两者的最大区别。

语法:

del 列表名[indx]

列表名.pop() 或者列表名.pop(index)

例子

# 删除列表中的魏璎珞

del names_python_pc[0]

print('del语句删除列表中的魏璎珞后的列表是{}'.format(names_python_pc))

 

# POP方法删除列表中的傅恒

delete_name = names_python_pc.pop()

print(f'pop方法删除的元素是{delete_name}')

 

# 根据位置删除 扶摇

delete_name_index = names_python_pc.pop(1)

print(f'pop根据索引删除的元素值是{delete_name_index}')

 

del语句删除列表中的魏璎珞后的列表是['陈升', '扶摇', '杨幂', 'TFboys', '傅恒']

pop方法删除的元素是 傅恒

pop根据索引删除元素值是 扶摇

如何我们不记得要删除的列表元素的位置,只是记得值,可以采用的方法是remove()。如果列表中有多个类似的值,则remove()方法一次只能删除一个。

语法:

列表名.remove('值')

例子

print("原来的列表是:",names_python_pc)

# 删除列表中的TFboys

names_python_pc.remove('TFboys')

print(f'删除后的列表是{names_python_pc}')

 

原来的列表是: ['陈升', '杨幂', 'TFboys']

删除后的列表是['陈升', '杨幂']

 

640?wx_fmt=jpeg

5.列表排序及其他

很多时候,我们需要对列表中的元素进行排序,然后进行运算。

列表排序分为永久性排序和临时性排序。永久性排序是真正修改列表元素的排列顺序,用到的方法是sort(),默认为升序。如果是降序,添加参数 reverse=True。

另外sort()中有一些选项很有用,比如使用字符串的长度排序;而临时性排序是不改变原来的排列顺序,用到的函数是sorted()。它返回一个新建的已排序列表,原来的列表顺序不受影响。

语法:

永久排序:列表名.sort()

临时性排序: sorted(列表名)

除了列表排序,列表中还有很多其他重要的方法,比如方法copy()复制列表、函数len()求列表长度、函数reverse()反转列表等

640?wx_fmt=png

 在Python编程中,我们经常使用 in 和not in 来判断一个元素是否在列表中。如果满足则返回True,否则返回False。

640?wx_fmt=png

 

在数据分析中,我们经常需要把两个列表拼接成一个列表。在Python中,我们使用加号(+)拼接两个已经存在的列表为一个新的列表;也可以使用extend方法向已存在的列表中添加另一个列表。

注意第一种方法相对代价高,推荐使用extend方法拼接两个存在的列表。

除了拼接列表以外,我们有时候还需要复制多份同样元素的列表。在Python中,我们使用星号(*)重复同样元素的列表多份。

640?wx_fmt=png

以上内容摘自《零基础轻松学 Python》

这篇关于刘德华告诉你:什么是列表?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416744

相关文章

c++的初始化列表与const成员

初始化列表与const成员 const成员 使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。 不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。 在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。 初始化列表 在构造函数小括号后面,主要用于给

Spring+MyBatis+jeasyui 功能树列表

java代码@EnablePaging@RequestMapping(value = "/queryFunctionList.html")@ResponseBodypublic Map<String, Object> queryFunctionList() {String parentId = "";List<FunctionDisplay> tables = query(parent

Exchange 服务器地址列表的配置方法与注意事项

Exchange Server 是微软推出的一款企业级邮件服务器软件,广泛应用于企业内部邮件系统的搭建与管理。配置 Exchange 服务器地址列表是其中一个关键环节。本文将详细介绍 Exchange 服务器地址列表的配置方法与注意事项,帮助系统管理员顺利完成这一任务。 内容目录 1. 引言 2. 准备工作 3. 配置地址列表 3.1 创建地址列表 3.2 使用 Exchange

Python--列表简介

列表是什么 列表让你能够在⼀个地方存储成组的信息,其中既可以只包含几个元素,也可以包含数百万个元素。列表是新手可直接使用的最强大的Python 功能之⼀。 列表(list)是一种可变的序列类型,用于存储一系列有序的元素。这些元素可以是任何类型,包括整数、浮点数、字符串、其他列表(即嵌套列表)等。列表是动态的,可以在运行时增加或删除元素。 用方括号([ ])表示列表,用逗号分隔其中的元素。

移动UI:分类列表页、筛选页的设计揭秘。

移动UI的列表页设计需要考虑用户体验和界面美观性,以下是一些建议的设计要点: 1. 列表项的展示: 列表页应该清晰地展示各个列表项,包括标题、副标题、缩略图等内容,以便用户快速浏览和识别。可以使用卡片式布局或者简洁的列表布局。 2. 搜索和筛选: 如果列表项较多,应该提供搜索和筛选功能,方便用户查找感兴趣的内容。搜索框和筛选条件可以放置在页面顶部或者底部,以便用户方便操作。

【语句】如何将列表拼接成字符串并截取20个字符后面的

base_info = "".join(tree.xpath('/html/head/script[4]/text()'))[20:] 以下是对这个语句的详细讲解: tree.xpath('/html/head/script[4]/text()')部分: tree:通常是一个已经构建好的 HTML 文档树对象,它是通过相关的 HTML 解析库(比如 lxml)对 HTML 文档进行解

Python中如何实现列表推导式(List Comprehension)

Python中的列表推导式(List Comprehension)是一种简洁且高效的方式来创建列表。它不仅让代码更加简洁,而且通常比使用循环和条件语句生成列表更快。列表推导式的基本形式允许你从现有的列表或其他可迭代对象中创建新的列表,同时应用过滤和转换操作。下面我将详细解释列表推导式的概念、基本语法、高级用法以及其在实际应用中的优势。 一、列表推导式的基本概念 列表推导式是Python中的一种

【R语言数据类型】深入了解 向量、矩阵、数据框、列表

R语言数据类型有向量、矩阵、数据框、列表。下面我们来深入了解下: vector 的划分 R中的vector分为两类,atomic和list,二者的区别在于,前者元素类型必须相同,后者可以不同。前者的代表是向量和矩阵,后者的代表是list和数据框。 创建向量、矩阵、数据框、列表 # atomica <- 1:5b <- letters[1:5]c <- 1:10mat <- matr

【oracle sql错误】ORA-01795: 列表中的最大表达式数为 1000

select SOURCE_ID,FILTER_TEXT from TEXT_CENTER where SOURCE_ID in() in后面的括号里的数目超过1000条。 问题描述: SQL进行IN查询时,IN中的数据量不能超过1000条。 解决办法: 拆分:id in (1,2,3,4,5,,,,999) or id in(1000,1001,1002,1003,1004,,,,,,

数业智能心大陆告诉你如何培养孩子的批判性思维?

现今的教育体系自小学起便强调培养孩子的批判性思维,这种能力被视为在复杂世界中生存和发展的关键。在当今信息爆炸的时代,它能让我们在海量信息中辨别真伪、深入思考并做出明智决策。如今,如数业智能心大陆产出的AI 心理咨询平台的出现为培养孩子批判性思维提供了新可能,其通过互动引导孩子思考,助力孩子提升批判性思维能力。 什么是批判性思维呢? 批判性思维是一种思考方式,它能够使我们在接收信