中企动力 > 头条 > python元素

网站性能检测评分

注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。

python元素

零基础十分钟学Python-容器 互联网视频课程

img

卓世倌

关注

在上篇文章中我们讲解了Python容器-列表,那么这里我们继续上篇的内容,当然如果你想看上篇的内容可以我的主页观看

3、元组

与列表类似,元组也是由任意类型元素组成的序列。于列表不同的是,元组是不可改变的,这意味着一但元组被定义,将无法再进行增加、删除或修改元素等。因此,元组就像是一个变量列表。

3.1、使用()创建元组

可以用()创建一个空元组

创建一个或多个的元时,每一个元素后面都需要跟着一个逗号,即使只包含一个元素也不能省略:

如果创建的元组所包含的元素数量超过1,最后一个元素后面的逗号都可以省略:

可以一次将元组赋值给多个变量:

可以利用元组在一条语句中对多个变量的值进行交换,而不需要借助零时变量:

tuple()函数可以用其他类型的数据类创建元组:

4、字典

字典(dictionary)与列表类似,但其中元素的顺序无关紧要,因为他们不是通过像0或1的偏移量访问的,取而代之,每个元素拥有与之对应的互不相同的键(key),需要通过键来访问元素。键通常是字符串,但它还可以是Python中其它任意的不可变类型:布尔型、浮点型、元组、字符串,以及其它一些类型。字典是可变的,因此你可以增加、删除或修改其中的键值对。

提示:在其他语言中,字典可能会被称作关系型数组、哈希表或哈希图。在Python中,字典还经常被简写成dict。

4.1、使用{}创建字典

用大括号({})将一系列以逗号隔开的键值对(key:value)包裹起来即可进行字典当的创建。最简单的字典是空字典,它不包含任何键值对:

创建一个字典:

提示:Python允许在列表、元组或字典的最后一个元素后面添加逗号,这不会产生任何问题。

4.2、使用dict()转换为字典

可以使用dict()将包含双值子序列的序列转换成字典,每个子序列的第一个元素作为键,第二个元素作为值:

可以对任何包含双值子序列的序列使用dict(),下面是其他的例子:

包含双值元组的列表:

包含双值列表的元组:

双字符的字符串组成的列表:

双字符的字符串组成的元组:

4.3、使用[key]添加或修改元素

向字典中添加元素只需要指定该元素的键并赋予相应的值即可。如果该元素的键已经存在于字典中,那么该键对应的旧值会被新值取代,如果改元素的键并未在字典中出现,则会被加入字典。

建立一个包含大多数Monty Python成员的名字字典,用他们的姓当作键,名当作值:

人员添加完成后貌似落下了一个人,生于美国的Terry Gilliam。下面是一个糟糕的程序员为了将Gilliam添加进字典而编写的代码,他粗心的将Gilliam的名字打错了:

下面是另一位颇具Python风格的程序员修改的代码:

使用通过相同的键(‘Gilliam’)将原本对应的值’Gerry’修改为为’Terry’

4.4、使用update()合并字典

使用update()可以将一个字典的键值对合并到另一个字典中去。 首先创建一个包含所有成员的字典pythons:

接着创建一个包含其他喜剧演员的字典,名为others:

现在,出现了另一位糟糕的程序员,它认为others应该被归入Monty Python成员中:

如果待添加的字典与待扩充的字典包含同样的键,新归入字典的值会取代原有的值:

4.5、使用del删除具有制定键的元素

创建一个字典:

删除Linux:

4.6、使用clear()删除所有元素

使用clear(),或者给字典变量重新赋值一空字典({})可以将字典中所有元素删除:

4.7、使用in判断是否存

如果你希望判断某一个键是否存在于一个字典中,可以使用in。

4.8、使用[key]获取元素

这是对字典最常进行的操作,只需要制定字典名和键即可获得对应的值:

如果字典中不包含一个制定的键,会产生一个异常:

有两种方法可以避免这种情况发生,第一种是在访问前通过in测试是否存在:

另一种方法是使用字典函数get():

反之,若键不存在,如果你指定了可选值,那么get()函数将返回这可选值:

否则,会得到None(在交互解释器中什么也不会显示):

4.9、使用keys()获取所有键

使用kets()可以获得字典中所有的键。

在python2里,keys()会返回一个列表,而在python3里则会返回dict_keys(),它是键的迭代形式。这种返回形式对于大型的字典非常有用,应为他不需要时间和空间来创建返回的列表,有时你需要的可能就是一个完整的列表,而在python3中,你只能自己调用list()将dict_keys()转换为列表类型。

在python3里,你同样需要手动使用list()将values()和items()的返回值转换为普通的Python列表。

4.10、使用values()获取所有值

使用values()可以获取字典中的所有值:

4.11、使用items()获取所有键值对

使用items()函数可以获取字典中所有的键值对:

每一个键值都会以元组的形式返回。

4.12、使用=赋值,使用copy()赋值

与列表一样,对字典内容进行修改会反映到所有与之相关联的变量名上:

若想避免这种情况,可以使用copy()将字典赋值到一个新的字典中:

魅力python——创建list、按照索引访问list、倒序访问list 公司视频课程

img

词楚

关注

坚持每天更新,一起学习python

python当歌

小伙伴们大家好,今天我们来了解一下python中的list。

在python中有一种内置的有序列表数据类型——list。注意:是有序的,后面我们还会遇到无序的列表数据类型。

我们首先举一个例子看一看

刚刚我们提到了list是有序的,我们打印这个list

我们可以观察到date,month,weekend,year是没有改变顺序的。list不是数学上的集合,数学上的集合具有无序性,list中的元素是有先后顺序的。

创建list

大家别为list的外表所蒙蔽了,创建list是非常简单的,只需要一个方括号把元素给括起来,多个元素用“,”隔开就行了。

我们看看刚刚这一个例子,元素'date'和'month'和'weekend'以及'year'被英文逗号隔开,整体用方括号括起来就组成一个list列表。

前天我们讲了python是一种动态语言,所以我们完全可以在list中使用各种各样的数据类型。如下图

按索引访问list

list是有序集合,所以内部是有编号的,我们把list内部元素的编号叫做索引。

计算机喜欢从0开始排序,同样,python也不例外。Python中list索引是从0开始的。第一个元素的索引是0,第二个元素的索引是1,……

首先我们建一个list

一共四个元素,我们按照索引打印出来

这就是按照索引查看list

注意,list索引不可以越界。也就是说一个list中有4个元素,那么索引最大是3,超过3就会报错。

倒序访问list

倒序访问与顺序访问如出一辙,不同的是倒序访问用负数作为索引,-1是倒数第一个,-2是倒数第二个,……

我们举个例子加深印象

我们看见倒序打印出了D、C、B、A,顺序被颠倒了。说明是由D到A的顺序访问的

每天学一点,积少成多。

后期会循序渐进、由浅入深的讲解python知识,如果想学习python入门,欢迎订阅转发。

如果还有不明白的小伙伴,欢迎留言评论或私信告诉我。

你不知的Python数据结构 互联网视频课程

img

紫牧

关注

Python一共有三大数据结构,它是Python进行数据分析的基础,分别是tuple,list以及dict。本文通过这三者的学习,打下数据分析的基础。

数组

数组是一个有序的集合,他用方括号表示。

num就是一个典型的数组。数组不限定其中的数据类型,可以是整数也可以是字符串,或者是混合型。

数组可以直接用特定的函数,函数名和Excel相近。

sum是求和,len则是统计数组中的元素个数。

上述列举的函数是数组内整体元素的应用,如果我只想针对单一的元素呢?比如查找,这里就要用到数组的特性,索引。索引和SQL中的索引差不多,都是用来指示数据所在位置的逻辑指针。数组的索引便是元素所在的序列位置。

注意,索引位置是从0开始算起,这是编程语言的默认特色了。num[0]指数组的第一个元素,num[1]指数组的第二个元素。

我们用len()计算出了数组元素个数是5,那么它最后一个元素的索引是4。若是数组内的元素特别多呢?此时查找数组最后一位的元素会有点麻烦。Python有一个简易的方法,可以用负数表示,意为从最后一个数字计算索引。

这里的num[4]等价于num[-1],num[-2]则指倒数第二个的元素。

再来一个新问题,如何一次性选择多个元素?例如筛选出数组前三个元素。在Python中,用:表示范围。

num[0:3]筛选了前三个元素,方括号左边是闭区间,右边是开区间,所以这里是num[0],num[1]和num[2],并不包含num[3]。这个方法叫做切片。

上述是索引的特殊用法,[0:]表示从第0个索引开始,直到最后一个元素。[:3]表示从第一个元素开始,直到第3个索引。

负数当然也有特殊用法。[-1:]表示从最后一个元素开始,因为它已经是最后一个元素了,所以只返回它本身。[:-1]表示从第一个元素开始到最后一个元素。num[-2:-1]和num[-3:-1]大同小异。

数组的增删查

我们已经了解数组的基本概念,不过仍旧停留在查找,它不涉及数据的变化。工作中,更多需要操纵数组,对数组的元素进行添加,删除,更改。

数组通过insert函数插入,函数的第一个参数表示插入的索引位置,第二个表示插入的值。

另外一种方式是append,直接在数组末尾添加上元素。它在之后讲到迭代和循环时应用较多。

如果要删除特定位置的元素,用pop函数。如果函数没有选择数值,默认删除最后一个元素,如果有,则删除数值对应索引的元素。

更改元素不需要用到函数,直接选取元素重新赋值即可。

到这里,数组增删改查已经讲完,但这只是一维数组,一维数组之上还有多维数组。如果现在有一份数据是关于学生信息,一共有三个学生,要求包含学生的姓名,年龄,和性别,应该怎么用数组表示呢?

有两种思路,一种是用三个一维数组分别表示学生的姓名,年龄和性别。

学生属性被拆分成多个数组,利用索引来表示其信息,这里的索引有些类似SQL的主键,通过索引查找到信息。但是这种方法并不直观,实际应用会比较麻烦,更好的方法是表示成多维数组。

所谓多维数组,是数组内再嵌套数组,图中表示的是一个宽度为3,高度为3的二维数组。此时student[0]返回的是数组而不是单一值。这种方法将学生信息合并在一起,比第一个案例更容易使用。

如果想选择第一个学生的性别,应该怎么办呢?很简单,后面再加一个索引即可。

现在尝试快速创建一个多维数组。

[0]*3将快速生成3个元素值为0的数组,这是一种快捷操作,而[row]*4则将其扩展成二维数据,因为是4,所以是3*4的结构。

这里有一个注意点,当我们想更改多维数组中的某一个元素而不是数组时,这种方式会错误。

按照正常的想法,martix[1][0]将会改变第二个数组中的第一个值为1,但是结果是所有数组的第一个值都变成1。这是因为在matrix = [row] * 4操作中,只是创建3个指向row的引用,可以简单理解成四个数组是一体的。一旦其中一个改变,所有的都会变。

比较稳妥的方式是直接定义多维数组,或者用循环间接定义。多维数组是一个挺重要的概念,它也能直接表示成矩阵,是后续很多算法和分析的基础(不过在pandas中,它是另外一种形式了)。

元组

tuple叫做元组,它和数组非常相似,不过用圆括号表示。但是它最大的特点是不能修改。

当我们想要修改时就会报错。

而选择和数组没有差异。

元组可以作为简化版的数组,因为它不可更改的特性,很多时候可以作为常量使用,防止被篡改。这样会更安全。

字典

字典dict全称dictionary,以键值对key-value的形式存储。所谓键值,就是将key作为索引存储。用大括号表示。

图中的’qinlu’是key,18是value值。key是唯一的,value可以对应各种数据类型。key-value的原理不妨想象成查找字典,拼音是key,对应的文字是value(当然字典的拼音不唯一)。

字典和数组的差异在于,因为字典以key的形式存储和查找,所以它的查询速度非常快,毕竟翻字典的时候你只要知道拼音就能快速定位了。对dict数据结构,10条记录和10万条记录的查找没有区别。

这种查找方式的缺点是占用内存大。数组则相反,查找速度随着元素的增加逐渐下降,这个过程想象成程序在一页页的翻一本没有拼音的字典,直到找到内容。数组的优点是占用的内存空间小。

所以数组和字典的优缺点相反,dict是空间换时间,list是时间换空间,这是编程中一个比较重要的概念。实际中,数据分析师的工作不太涉及工程化,选用数组或者字典没有太严苛的限制。

细心的读者可能已经发现,字典定义时我的输入顺序是qinlu,lulu,qinqin,而打印出来是lulu,qinlu,qinqin,顺序变了。这是因为定义时key的顺序和放在内存的key顺序没有关系,key-value通过hash算法互相确定,甚至不同Python版本的哈希算法也不同。这一点应用中要避免出错。

既然字典通过key-value对匹配查找,那么它自然不能不用数组的数值索引,它只能通过key值。

如果key不存在,会报错。

通过in方法,可以返回True或False,避免报错。

dict和list一样,直接通过赋值更改value。

能不能更改key的名字?不能,key一旦确定,就无法再修改,好比字典定好后,你能修改字的拼音么?

dict中删除key和list一样,通过pop函数。增加key则是直接赋予一个新的键值对。

dict的keys和values两个函数直接输出所有的key值和value值。如果要转换成数组,则再外面嵌套一个list函数。

items函数,将key-value对变成tuple形式,以数组的方式输出。

字典可以通过嵌套应用更复杂的数据格式,和NoSQL与JSON差不多。

基础的数据类型差不多了,更多函数应用大家网上自行查阅文档,这块掌握了,在数据清洗过程中将会非常高效,尤其是读取Excel数据时。当然不要求滚瓜烂熟,因为后面将学习更加强大的Numpy和Pandas

Python入门——列表的数据统计 流量视频课程

img

人英

关注

Python列表的数据统计

元素个数

如果想知道一个列表中包含元素的个数,可以使用len函数,len函数传入的参数为列表,

运行程序,输出的结果为,

列表中包含 3 个元素

元素出现次数

如果想知道一个元素在列表中出现的次数,可以使用count方法,在演示count方法之前,我们先在列表的末尾再增加一个张三字符串,

运行程序,输出的结果为,

列表中包含 4 个元素张三出现了 2 次

remove方法

之前学习的remove方法是删除列表中的元素,那么问题来了,如果列表中有两个张三,这个方法删除的是哪个元素呢?我们直接通过代码测试一下,

运行程序,输出的结果为,

列表中包含 4 个元素张三出现了 2 次['李四', '王五', '张三']

如果我们对一个方法的用法不熟悉,可以借助PyCharm强大的提示功能,选中remove这个方法,按control+q就会弹出提示框,里面有这个方法的详细说明,

remove方法删除的是列表中指定元素的第一个值。

Python元组内的元素还能通过名称访问?不知道的一定是新手小白! 新手视频课程

img

华善若

关注

元组

学过Python的同学应该都知道,元组是Python三种内建的数据结构之一,它像列表一样有序,又像字符串一样不可更改,所以,元组使我们既能方便的访问一组数据而又不会轻易地改变数据。

元组通常是通过在一组括号内用逗号将各个元素分隔开的形式来定义的。如:

我们可以通过元素的索引访问到元组内的元素,如:

但是这样创建访问会有一些问题,比如说,时间长了我不知道其中某一个元素代表什么了;又或者我想要获取身高,我就要去数数身高的索引是多少。

看到这里有的同学会问,难道我们只能忍受这种麻烦的操作,没有更好的办法了吗?

答案是有!下面我们就来讲讲今天的重点,可以弥补传统元组不足的命名元组——namedtuple!

命名元组——namedtuple

namedtuple是Python内建模块collections中的一种数据结构,它是元组的子类,却又比元组高级,它不仅具有不变性,又可以给每个元素一个名称,通过元素名称来访问元素。

创建方法:

元素访问:

通过演示我们可以得知,该方法既可以通过传统的索引的方法访问元素,又可用通过属性的方式访问元素,十分便捷!

本期的内容到此为止了,认为有用的同学赶快收藏转发吧!

python列表删除元素整理 公司视频课程

img

秦含烟

关注

先看一个例子:

这时发现并没有达到我们想要的结果,原因分析如下:

要了解一下python列表的数据结构,列表属于连续线性表,它的连续在于有一块连续的内存储存着列表中元素的地址,如图(忽略地址与值所占的字节,只为方便举例子):

当然也可以通过一个代码来看证明一下:

用一下del看看会出现什么结果:

对比地址的变化,可以得知del删除了该元素内存地址引用。

删除列表中的空元素有这两种方法:

即删除列表中指定元素建议使用上述两种方法,不要用for循环。

上面记录是写代码时踩的坑,有不严谨或者错误的地方期望大家指正。

list列表等同于数组,是一种放数据的容器 公司视频课程

img

刘念柏

关注

前言

在python中,list列表数据类型其实就是一个容器,可以放置大量元素的集合。同时,list列表也有很多特点和使用场景,本文主要讲解list列表的函数方法。

概念

list列表是一个集合,一个容器,同Java语言中的数组是一样的,唯一的不同之处在于,Java中的数组类型只能放置同一种数据类型,而Python中的列表可以放置不同的数据类型。

python常用方法

1、append添加元素

append()函数是将要添加的元素追加到列表的末尾。同时呢,list列表还有其他的方法,比如insert()和extend()函数,其实作用是一样的,都是添加元素。

2、pop删除元素

pop()函数的作用是从列表中弹出一个元素,并且返回该元素的值,pop如果不接收参数,则移除列表中的最后一个参数。删除的函数有remove()函数和del关键字。

3、修改元素的值

要修改列表中的某个元素,只需要根据索引的下标去修改就可以了。

4、根据索引下标查询元素

根据索引下标就可以查询元素的值,当然,同样查询操作也可以根据某个元素查询下标的位置,类似的方法是list.index(元素)。

5、统计(查询集合的个数)

6、逆序(列表元素反转)

7、清空列表

总结

本文主要列举了list列表的常用函数,包括append、insert、clear、reverse等函数,使用也是非常的简单。其实list列表就是数组,具有和数组同样的特性,主要是:1、元素的内容是有顺序的。2、可以通过索引下标实现随机访问。3、对列表的增删是相对来说性能是低下的等等。list列表使用场景也很多,当我们要保存大量的元素,并且元素是有顺序的情况下,就可以考虑使用list列表类型。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP