Python基本数据类型与数据结构(数据挖掘学习)
前言
最近工作和研究涉及到数据挖掘和机器学习,出于归纳和总结知识的目的写下这一系列的文章,这一系列文章将会包括Python的基本数据类型和数据结构,函数和面向对象相关的知识,然后会介绍数据挖掘和机器学习经常用到的Numpy,Pandas。也希望这一系列文章能够帮助刚刚接触Python或者数据挖掘和机器学习的人。
基本数据类型
数字
Python中将带小数点的数都当作浮点数处理,对于加减乘除的基本操作与其他语言没有什么差别。
字符串
与绝大多数语言相同,Python也是通过“”来声明字符串。
poet = "We are all in the gutter, but some of us are looking for stars"
print(poet);
复制代码
字符串对空格敏感,不会主动去除空格,我们可以通过lstrip和strip来去除字符串左边和两端的字符串。
name = " Python"
name1 = " Python "
print(name.lstrip())
print(name1.strip())
复制代码
Python也是通过+来连接字符串
name = "hello"+" Python"
print(name.lstrip())
复制代码
需要注意的是Python与其他语言如Java不同的地方在于在拼接字符串时python不会主动将其他类型转化为字符串类型,需要自己手动转换,否则会报错如下
age = 23
message = "Happy" + age + "rd Birthday"
print(message.lstrip())
# 报错
TypeError: can only concatenate str (not "int") to str
Traceback (most recent call last):
File "D:/Program Files/project/hello.py", line 3, in <module>
message = "Happy" + 23 + "rd Birthday"
TypeError: can only concatenate str (not "int") to str
复制代码
必须改为
age = 23
message = "Happy" + str(age) + "rd Birthday"
print(message.lstrip())
复制代码
列表
列表基础
列表是由一系列按特定顺序排列的元素组成,可以由[]来声明一个列表。
names = ["Python", 'Java', 'C++']
复制代码
Python列表访问元素和修改元素与一些语言中的数据相类似,通过下标来访问和修改元素且下标从0开始。
names[0] = 'go'
复制代码
可以通过append来在列表尾添加元素
names.append('C')
复制代码
通过insert来在特定位置插入元素
names.insert(0, 'Ruby')
复制代码
list删除元素有很多种方法,可以使用del来删除元素。
del names[0]
复制代码
也可以使用pop来删除元素
names.pop(0)
复制代码
前面两种都是根据位置来删除元素,可以用remove根据值来删除元素,需要注意的是,remove只会删除一个值,如果列表中有多个相同值则需要调用多次。
names.remove('Java')
复制代码
列表的排序:可以用sort使列表永久排序,可以通过传递参数reverse = True来倒着排序。
nums = [1, 9, 7, 5, 4, 3, 2]
nums.sort(reverse=True)
复制代码
sort会永久改变列表,如果只是想临时排序可以使用sorted。
nums = [1, 9, 7, 5, 4, 3, 2]
print(sorted(nums))
复制代码
可以使用reverse来使列表倒转
nums = [1, 9, 7, 5, 4, 3, 2]
nums.reverse()
print(nums)
复制代码
可以用len来获取列表的长度
len(nums)
复制代码
为了避免在访问列表时越界,Python以-1来表示最后一个元素,-2为倒数第2个,以此类推
nums[-1]
复制代码
列表操作
我们可以使用for in语句来遍历列表,需要注意在Python中使用:和缩进来代替其他语言中常用的{}来表示语句块,这也是Pyhthon的一个特色。
names = ["Python", 'Java', 'C++', 'go', 'Ruby']
for item in names:
print(item)
复制代码
我们还可以使用range函数来生成一组数字,range(1, 5)会返回1, 2, 3, 4,同时range还可以设置步长,range(1, 5, 2)会返回1, 3。
for i in range(1, 5, 2):
print(i)
复制代码
可以利用list加range构造一个数字列表,可以使用min,max,sum求数字列表的最小值,最大值和和。
nums = list(range(1, 5))
print(max(nums))
print(min(nums))
print(sum(nums))
复制代码
我们还可以通过列表解析来创建列表,如下,Python中**表示乘方运算。
squares = [value**2 for value in range(1, 5)]
复制代码
等价于
squares = []
for value in range(1, 5):
squares.append(value**2)
复制代码
Python可以通过切片来获取列表的一部分。
names = ["Python", 'Java', 'C++', 'go', 'Ruby']
print(names[1:3])
# 返回['Java', 'C++']
复制代码
[1:3]有点像以前数学的区间,右边是开区间,[1:3]就是【1,3)就是1,2。
元组
元组就是一种特殊的列表,声明之后就无法更改,可以通过()声明。
names=('java', 'python')
复制代码
字典
列表是有序的,通过位置来访问元素,而字典是无序,通过键值对来存储和访问元素,可以通过{}来声明字典。
D = {}
D = {'egg': 1, 'ham': 2}
复制代码
字典是可以嵌套的
D ={'food': {'egg': 1, 'ham': 2}}
复制代码
字典可以通过keys,values和items来获取键,值和键+值。
D = {'egg': 1, 'ham': 2}
print(D.keys())
print(D.values())
print(D.items())
复制代码
通过get来根据键来获取键对应的值。
D = {'egg': 1, 'ham': 2}
print(D.get('egg'))
复制代码
通过键来新增或更改字典
D = {'egg': 1, 'ham': 2}
D['egg'] = 2
print(D)
复制代码
通过del和pop来删除元素
D = {'egg': 1, 'ham': 2}
del D['egg']
D.pop('ham')
复制代码
通过update来合并两个字典
D1 = {'bread': 3}
D = {'egg': 1, 'ham': 2}
D.update(D1)
print(D)
复制代码
通过len来获取字典长度
D = {'egg': 1, 'ham': 2}
print(len(D))
复制代码
最后
简单介绍了Python的数据结构,内容很简单,不过最好还是自己动手敲一遍,纸上得来终觉浅。
作者:月下西楼
链接:https://juejin.im/post/6892383755341758477
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Python基本数据类型与数据结构(数据挖掘学习)的更多相关文章
- Python的数据类型与数据结构
Python的数据类型与数据结构 数据类型分为: 整数型 :数字的整数 浮点型: 数字带小数 字符串: 用 ‘’ 或者 “” 引用的任意文本 布尔型:只有 True 和 False 数据结构分为: 列 ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
- python组合数据类型和数据结构
//2019.12-071.pyhton里面组合数据类型主要有三种:集合(set).序列(字符串str.列表list and 元组tuple)和映射(字典dic)2.集合类型一般使用大括号{}来进行表 ...
- 第二章 python中重要的数据结构(下)
二.元组(tuple):不可变序列 跟list一样,也是一种序列,唯一不同的是,元组元素不能被修改,通常用(, ,)表示元组,也可以不加括号. #创建元组 >>> 1,2,3 (1, ...
- Python中的数据类型和数据结构
一.数据类型 Python中有六个标准数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) 其中,除列表Lis ...
- [python学习手册-笔记]002.python核心数据类型
python核心数据类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...
- 图解python | 基础数据类型
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- Python 之路 Day5 - 常用模块学习
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- python 基本数据类型分析
在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...
随机推荐
- 《凤凰项目:一个IT运维的传奇故事》读书笔记
- java高级项目 jdbc与数据库连接数据库
//图书管类 public class Book { private Integer id; private String b_name; private double b_price; privat ...
- MySQL 日志详解
一.MySQL 日志分类 MySQL 日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志. 错误日志: -log-err (记录启动.运行.停止 MySQL 服务时出现的信息) 查询日 ...
- linux块设备驱动---程序设计(转)
块设备驱动注册与注销 块设备驱动中的第1个工作通常是注册它们自己到内核,完成这个任务的函数是 register_blkdev(),其原型为:int register_blkdev(unsigned i ...
- 多测师讲解selenium—自动化测试课堂面试题总结—高级讲师肖sir
1.你有做过自动化?你用什么语言? python2.自动化中如何使用语言打开一个网址?浏览器,浏览器对应驱动,导入库,类,get,url3.在一个浏览器中打开多个窗口?open_windows dri ...
- 面试题____pthon__002(法本_) 阿里
1.描述一下您负责的业务中最复杂的业务(可以从业务是为了解决用户的什么问题切入).这个最复杂的业务中,最复杂的模块是什么,这个模块的主要功能详细描述一下.这个模块,采用了什么样的测试手段保障质量?2. ...
- 用 C 语言游戏编程开发!果然最担心的事又发生了!
30了.我要怎么办,老了.人就像一头小毛驴,方向都是牵着的人定的. 这个项目从去年开始的,一个手机游戏,当时接这个项目的时候其实没有太多考虑,我一向都喜欢打肿脸充胖子的,好面子,人家找上门来,不能不给 ...
- 第四章 Bash Shell 的简单应用
一.Bash Shell 的简单介绍 1.什么是bash shell? 是一个命令解释器 它在操作系统的最外面 负责用户与内核进行交互的一种接口 将用户输入的命令翻译给操作系统,并将处理后的结果输出到 ...
- 分布式协调服务之Zookeeper集群部署
一.分布式系统概念 在聊Zookeeper之前,我们先来聊聊什么是分布式系统:所谓分布式系统就是一个系统的软件或硬件组件分布在网络中的不同计算机之上,彼此间通过消息传递进行通信和协作的系统:简单讲就是 ...
- 【转】Python3 如何优雅地使用正则表达式(完整版)
转载自鱼c论坛 : https://fishc.com.cn/thread-57073-1-1.html 注:本文翻译自 Regular Expression HOWTO,小甲鱼童鞋对此做了一些注释 ...