列举python的5个数据类型_python公开课|新公布的5个python核心数据类型,这些细节你难道还不不知道吗...

【摘要】在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注python就业方向问题,今天环球网校的小编就来和大家讲讲python核心数据类型。

python核心数据类型包括数字、字符串、元组、列表、字典、文件、集合

字符串、元组是不可变的,列表、字典是可变的

1、python核心数据类型——字符串

字符串是用来记录文本信息的,可以把字符串看作是单个字符组成的序列,其他类型的序列还包括列表和元组。

S = 'python'

print(len(S)) # 6

print(S[0]) # p

print(S[:])# python

print(S[1:])# ython

print(S[:-1])# pytho

print(S[1:3])# yt

字符串作为序列也支持加号合并操作

S = 'python'

print(S + 'is very easy') # python is very easy

print(S * 2) # pythonpython

字符串的find方法是对子字符串进行查找,存在的情况下将返回子字符串的索引,不存在的情况下将返回-1,而replace方法将会对全局进行搜索和替换

>>> s = 'abc'

>>> print(s.find('b'))

1

>>> print(s.find('d'))

-1

>>> print(s.replace('ab','de'))

dec

>>>

>>> print(s.upper())

ABC

>>> print(s.isalpha())

True

>>>

字符串大小写转换,upper()方法转大写,lower方法转小写,capitalize()方法把首字母转大写,

title()方法把每个单词的第一个字母大小,其余小写

s = 'aBc'

>>> print(s.upper())

ABC

>>> print(s.lower())

abc

>>>

>>> s = 'www.baidu.com'

>>> print(s.capitalize())

>>> print(s.title())

>>>

字符串支持格式化的高级替代操作,可以以一个表达式的形式和一个字符串方法调用形式使用

>>> print('%s like eat %s' % ('I','egg!'))

I like eat egg!

>>> print('{0} like eat {1}'.format('I','egg!'))

I like eat egg!

>>>

2、python核心数据类型——列表

列表是一个任意类型的对象的位置相关的有序集合。前面讲到字符串、列表都是序列的一种,两者唯一的区别是字符串不可变,而列表大小是可变的,所以能同样对列表进行索引、切片

>>> L = [123,'PYTHON',1.23]

>>> print(L[0])

123

>>> print(L[2])

1.23

>>> print(L[:-1])

[123, 'PYTHON']

>>> print(L[:])

[123, 'PYTHON', 1.23]

>>> print(L[1:3])

['PYTHON', 1.23]

>>>

列表也可以使用append()方法添加元素,使用pop()方法删除元素,pop()方法不带参数时默认删除最后一个元素,带参数时删除指定索引的元素

>>> L = [123,'PYTHON',1.23]

>>> L.append('java')

>>> print(L)

[123, 'PYTHON', 1.23, 'java']

>>> L.pop(1)

PYTHON'

>>> print(L)

[123, 1.23, 'java']

>>>

列表虽然没有固定大小,但不允许引用不存在的元素,超出列表末尾之外的引用会导致错误

>>> L = [123,'PYTHON',1.23]

>>> L[11]

Traceback (most recent call last):

File "", line 1, in

IndexError: list index out of range

>>>

3、python核心数据类型——嵌套

python核心数据类型的一个优秀的特性是它可以支持任意的嵌套,例如:一个列表包含一个字典,并在这个字典中包含另一个列表;python中的多维数组,一个嵌套列表的列表可以完成基本操作

>>> M = [[1,2,3],[4,5,6],[7,8,9]]

>>> print(M[1])

[4, 5, 6]

>>> print(M[1][2])

6

>>>

4、python核心数据类型——列表解析

列表解析能够处理矩阵这样结构的强大工具,矩阵是按照行进行存储的,所以通过简单的索引即可获取行,使用列表解析可以获取列,下面例子是获取第三列

>>> M = [[1,2,3],[4,5,6],[7,8,9]]

>>> colum2 = [row[2] for row in M]

>>> print(colum2)

[3, 6, 9]

>>>

列表解析源自集合的概念,它是一种通过对序列中的每一项运行一个表达式来创建一个新列表的方法,

>>> M = [[1,2,3],[4,5,6],[7,8,9]]

>>> c = [row[2] + 1 for row in M]

>>> print(c)

[4, 7, 10]

>>> c = [row[2] for row in M if row[2] % 2 ==0] #取第二列中为偶数的元素

>>> print(c)

[6]

>>>

>>> diag = [M[i][i] for i in [0,1,2]] #取对角线元素

>>> print(diag)

[1, 5, 9]

>>>

括号中的解析语法也可以用来创建产生所需结果的生成器

>>> M = [[1,2,3],[4,5,6],[7,8,9]]

>>> G = (sum(row) for row in M)

>>> print(next(G))

6

>>> print(next(G))

15

>>> print(next(G))

24

>>>

内置函数map也可以做类似的事情,产生对各项运行一个函数的结果,在python3中,将其包装到列表中,会使其返回所有值

>>> M = [[1,2,3],[4,5,6],[7,8,9]]

>>> print(list(map(sum,M)))

[6, 15, 24]

>>>

在python3中,解析语法也可以用来创建集合和字典

>>> M = [[1,2,3],[4,5,6],[7,8,9]]

>>> G = {sum(row) for row in M}

>>> print(G)

{24, 6, 15}

>>> F = {i : sum(M[i]) for i in range(3)}

>>> print(F)

{0: 6, 1: 15, 2: 24}

>>>

5、python核心数据类型——字典

字典通俗的理解就是key-value 关系,通过key值找对应的value,内置的sorted函数可以对字典的key排序,

>>> dic = {'a':2,'c':1,'b':3}

>>> for key in sorted(dic):

...

... print(key,'=>',dic[key])

...

a => 2

b => 3

c => 1

>>>

获取不存在的键会出现错误,但可以通过if进行测试判断

>>> dic = {'a':2,'c':1,'b':3}

>>> print(dic['d'])

Traceback (most recent call last):

File "", line 1, in

KeyError: 'd'

>>>

>>> dic = {'a':2,'c':1,'b':3}

>>> if 'd' not in dic:

... print("missing")

...

missing

{'a': 2, 'c': 1, 'b': 3}

>>> value = dic['d'] if 'd' in dic else 0

>>> print(value)

0

>>>

>>> value = dic['b'] if 'b' in dic else 0

>>> print(value)

3

>>>

sort 与sorted区别 sort会改变原来的,而sorted不会改变原来的,相当于新建了一个

>>> list = [0,3,5,-1,4,6]

>>> list.sort()

>>> print(list)

[-1, 0, 3, 4, 5, 6]

>>> list = [0,3,5,-1,4,6]

>>> sorted(list)

[-1, 0, 3, 4, 5, 6]

>>> print(list)

[0, 3, 5, -1, 4, 6]

基于key值的排序

>>> list = [(2,'bob',88),(4,'mary',99),(1,'make',77)]

>>> list.sort()

>>> print(list)

[(1, 'make', 77), (2, 'bob', 88), (4, 'mary', 99)]

>>> list = [(2,'bob',88),(4,'mary',99),(1,'make',77)]

>>> list.sort(key = lambda x:x[2])

>>> print(list)

[(1, 'make', 77), (2, 'bob', 88), (4, 'mary', 99)]

reverse=False为升序排序;reverse=True为降序排序

>>> list = [0,3,5,-1,4,6]

>>> list.sort(reverse=False)

>>> print(list)

[-1, 0, 3, 4, 5, 6]

>>> list.sort(reverse=True)

>>> print(list)

[6, 5, 4, 3, 0, -1]

>>>

以上就是有关于python核心数据类型的全部内容,小编希望大家所学的python知识可以用在自己的工作领域中,毕竟作为一个应用类的技能,最终还是要应用在实际领域中才能发挥它的作用,环球网校的小编在这里祝大家学有所成,并彻底掌握python的使用方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium3 + python - page_source页面源码

前言: 有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。 本次以博客园为例,先爬取页面源码,通过re正则表达式爬取出url&a…

简单分析Guava中RateLimiter中的令牌桶算法的实现

为什么80%的码农都做不了架构师?>>> 令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目&am…

gcc oracle mysql_Linux下C语言访问Oracle数据库Demo

前提条件1. Linux环境已经存在,安装好了Oracle本demo 运行环境本地环境 RedHat LINUX AS 4 ,ORACLE 10G本地数据库sid orcl,ip:127.0.0.1,用户名:kingbi,密码:kingbi,表dsd_test. 显示表dsd_test 的所有记录.步骤:(1) 创建表 …

炼数成金数据分析课程---16、机器学习中的分类算法(交叉内容,后面要重点看)...

炼数成金数据分析课程---16、机器学习中的分类算法(交叉内容,后面要重点看) 一、总结 一句话总结: 大纲实例快速学习法 主要讲解常用分类算法(如Knn、决策树、贝叶斯分类器等)的原理及python代码实现 1、什么是分类? 分…

NFS配置详解

1、NFS服务介绍1.1 什么是NFS?NFS是Network File System的缩写。中文意思是网络文件系统。它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或者目录。NFS客户端(一般为应用服务器,例如web&…

idea用法

更新gradle的依赖后,刷新项目引入jar包的方法: view--Tool Buttons 在右侧 Gradle 点刷新 转载于:https://www.cnblogs.com/z360519549/p/10994897.html

linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程

一、数据备份与恢复阶段,选在凌晨1点进行操作,暂停服务进行备份(允许停服2个小时)1、首先停止Nginx服务,并且修改数据库用户密码,防止还有新的连接进来2、杀掉某个用户所有进程for i in mysql -udba -pPASSWORD -ssse "show …

免费下载!5本阿里技术好书,带你看更大的世界

共享、开源是互联网技术发展的重要精神。在过去,25000多万名阿里工程师,撰写了一系列精品技术丛书,从算法、研发到职业人生随笔,应有尽有。目前该系列丛书已全部开放下载,供技术人免费阅读。 今天小编整理了其中的五本…

python3安装mysqlclient_Python3 安装mysqlclient错误处理(MAC版)

在使用django的时候需要安装mysqlclient库,很多时候会出现以下报错:running installrunning bdist_eggrunning egg_infowriting mysqlclient.egg-info/PKG-INFOwriting dependency_links to mysqlclient.egg-info/dependency_links.txtwriting top-level names to mysqlclient.…

React绑定事件处理函数this的几种方法

在以类继承的方式定义的组件中,为了能方便地调用当前组件的其他成员方法或属性(如:this.state),通常需要将事件处理函数运行时的 this 指向当前组件实例。 绑定事件处理函数this的几种方法: 第一种方法&…

乌班图系统16.04安装

本例jiyu基于Ubuntu16.04 64位版本为例进行安装,安装的方式有多种,本文使用光盘进行安装安装前应准备好,将Ubuntu的镜像文件刻成光盘,然后将光盘放入光驱,并设置服务器从光盘启动,开机到如下界面:按Enter键到下一步,如…

python做游戏用什么软件_用Python自制谷歌小游戏

谷歌流量器中有个很有名的彩蛋:当你网络出现问题时,就会出现一个“小恐龙游戏”。(如果想要直接进行游戏,可以在地址栏输入:chrome://dino)今天我们就来给大家演示下,用Python来自己做一个仿制的“小恐龙游戏”&#x…

使用maven构建项目候,jar包错误的解决办法

1、删除架包,重新下载,右键项目点击"run as"中的“maven clean”,然后再maven中找到Update Project 2、可以在代码中,把鼠标放到报错的架包上 点击划红线部分,进行安装 转载于:https://www.cnblogs.com/qingqian/p/1099…

MySQL——通过EXPLAIN分析SQL的执行计划

在MySQL中,我们可以通过EXPLAIN命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。下面分别对EXPLAIN命令结果的每一列进行说明:select_type:表示SELECT的类型,常见的取值有:…

python将argv作为参数_在jupyter / ipython notebook中将命令行参数传递给argv

经过大量的环顾后,我发现了非常繁琐的自定义库,但是用几行代码解决了它,我认为这些代码很漂亮.我使用nbconvert最终得到一个html报告作为输出,包含笔记本中的所有图形和降价,但是通过最小的python包装器接受命令行参数:python文件test_args.py(正常执行命令行参数)&…

模拟输入(ADC-A0)

ESP8266具有内置的10位ADC,只有一个ADC通道(A0引脚),即只有一个ADC输入引脚可读取来自外部器件的模拟电压 ESP8266上的ADC通道和芯片供电电压复用,也就是说我们可以将其设置为测量系统电压或者外部电压 测量外部电压: analogRead(…

SQL Server 连接超时案例一则

原文:SQL Server 连接超时案例一则上周六,一工厂系统管理员反馈一数据库连接不上,SSMS连接数据库报“连接超时时间已到。在尝试使用预登录握手确认时超过了此超时时间.......”, 如下截图所示: 另外远程连接也连接不上,系统管理员…

mysql 删除5天前 备份_mysql自动备份删除5天前的备份

1、查看磁盘空间情况:df -h2、创建备份目录:上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;cd /homemkdir backupcd backup3、创建备份Shell脚本:注意把以下命令中的DatabaseName换为实际的数据库名称…

个人作业-Alpha项目测试

这个作业属于哪个课程https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2作业地址https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340团队名称脑阔疼https://www.cnblogs.com/chaserFF/p/10994338.html这个作业的目标完成班级项目互评…

深入理解brew link命令

来源:https://newsn.net/say/brew-link-php71.html brew是mac机上面程序猿非常常用的软件包安装方式,其中有两组命令是需要大家知晓的。分别是:第一组:brew install和brew uninstall。第二组,brew link和brew unlink。…