python数据分析——Python语言基础(数据结构基础)

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 数据结构是计算机科学中一种基本概念,其目的是确定数据元素之间的关系,实现数据的组织、存储和管理。了解和掌握常见的数据结构可以让我们更好地处理和管理数据

Python语言基础——数据结构基础


前言

数据结构是计算机科学中一种基本概念,其目的是确定数据元素之间的关系,实现数据的组织、存储和管理。了解和掌握常见的数据结构可以让我们更好地处理和管理数据


数据结构基础

数据结构就是用来存放数据的容器。数据应该按着某种规则放进这个容器,并且按照某种规则从容器中取出数据。

列表

顺序结构——列表

列表是顺序结构中的一种,而且列表中的每个元素最多只有一个前驱和一个后驱。列表的语法如下:

[ 元素1,元素2,……,元素N]

列表中的方括号和逗号都是半角符号,如果用了全角符号,python的解释器会报错

列表中的元素可以是相同的类型,也可以是不同的类型。

当往列表中放入数据的时候,python用”索引“来标记要放入的位置。可以这样理解索引,就是给每一个存放数据的位置写了一个数字,而且是从0开始。

例如要把”苹果“放入列表list的0号位置,在python里这样表示:

同样,从列表中取出元素的时候也适用索引。

如果要连续获取几个元素,需要使用如下的切片运算符:

连续获取多个元素 list[1:3] 切片运算符 : 切片运算符,运算的时候如下的list[1:3] 是不包括最后的元素的 也就是 list[1] 和 list[2] 不包括list [3]

字典

映射结构——字典

映射结构就是把一个值映射到另一个值的结构。

python中的字典就是一个映射结构,与手机通讯录很相似。我们查通讯录的时候是按姓名来查找的,即通过名字找到这个人的手机号码,姓名与手机号码是一一对应的。值得注意的是,python字典是一个特殊的通信录,因为它不允许里面有两个人的名字是相同的。

python的字典由”键“和”值“构成,其中”键“表示查找的依据,而”值“表示查找的结果。

python字典的语法为:

{key1:value1,key2:value2……}

元组

元组和列表相似,列表的大部分方法在元组上也可以使用,只是元组是不可以修改的。创建列表的语法是使用方括号,而创建元组的语法是使用圆括号。

元组 大体上和列表差不多 但是元组是不可以修改的

字符串

字符串是一类特殊的字符集合,由单个或者多个字符组合而成,其长度可以由python的len方法获取。

在字符串里,通常使用索引来识别字符所在位置。第一个字符的索引值为0,最后一个字符的索引值为-1.

算术运算符

//求整除数,计算两个整数相除的整数值

如 5/2 = 2

比较运算符

逻辑运算符

python常用控制结构

if、else、elif条件语句

if语句的作用是,如果满足设置的条件,则执行后续的代码块。

在判断语句中,空列表、空元组、空字典、数字0、空字符串(“”)都会在判断条件中被自动转换为布尔值False

为了更加直观地表达条件语句,可以为if语句增加一个配套的else子句,其含义是当if语句后的判断条件成立时,执行if后的代码块,当判断条件不成立时,执行else语句后的代码块。

当有多个条件需要判断的时候,可以使用python中的elif语句。elif是else if的缩写

for循环语句

在python中经常需要遍历列表和字典中的元素。例如,查看哪些元素是偶数,检查电话号码是否格式正确等。这时需要用到一个名为for循环的控制结构。

while循环语句

在python中,当在满足某个条件的前提下,循环执行某个代码块时就需要用到while循环语句。while循环语句的语法与if语句是类似的。当判断条件的结果为True时,才会执行后续的代码块。

range()函数

python中可以利用range(N)函数实现重复执行某个操作N次。若只给range()函数传入一个参数,range()函数将生成0到N的数字序列

跳出循环

一般来说,循环会不断执行代码块,直到某个条件满足为止。但是有时希望中断循环或者跳出某一次循环,这就需要使用break或者continue语句

break语句可以直接跳出循环,结束循环。continue语句可以实现结束当前循环,直接进入下一次循环的功能。

a = 10
while (a > 5):
    a = a - 1
    if(a % 2 == 0):
        continue
    print(a)

函数和类

函数

对于一个需要多次使用某个方法的程序,如果在程序中重复编写这个方法,将会导致程序可读性不高。在这种情况下,可以引入函数进行python编程。函数是在一个程序中可以重复使用的代码块,并且这组代码块可以实现一个独立的功能。在定义好函数后,该函数就可以在程序中任意需要的位置被调用。

函数一般由函数名、参数、函数体、返回值组成,其中函数名和函数体是必须的。

函数可以没有参数,也可以有一个或多个参数。

类是面向对象的一个核心要素。在编译的过程中,对于有相同属性和方法的对象,为了避免重复定义,可以将这些对象归纳为一个类。类的基本结构

#编写水果类
class Fruit():
    def __init__(self,name,color):
        self.name = name
        self.color = color
    def pickup(self,season):
        print("{}在{}季节收获".format(self.name,season))
Apple = Fruit("apple","red")
Apple.pickup("秋天")

模块和包

模块是一个相对笼统的概念,可以将其看成包含变量或一组方法的python文件对象,或者多个python文件对象组成的目录。有了模块,一个python文件中的方法或者变量就可以被外部访问使用,而不仅仅局限于文件内部使用。因为有了模块,python对象的抽象和复用更为通用,而不同于模块放在一起就构成了一个package包。python如此流行,就是因为在python社区中有各种各样的包可以下载并直接使用,这些包可以用于完成数据处理、网络爬虫、网站建设、嵌入式编程、多媒体处理、人工智能等多种任务。

调用本地模块和包的基本格式为:

下面介绍一个使用random模块产生一组随机数,并存入列表的例子来展示模块的使用方法


总结

Python数据结构基础对于程序员来说非常重要,熟练掌握它们的用法可以提高开发效率、代码可读性和程序性能,是必须要掌握的基础知识。

相关文章
|
20天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
51 0
|
5天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
14天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
33 2
|
4天前
|
数据采集 数据可视化 数据挖掘
掌握Python数据分析,解锁数据驱动的决策能力
掌握Python数据分析,解锁数据驱动的决策能力
|
12天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
12天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
14天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
14天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
19天前
|
C语言
【数据结构】栈和队列(c语言实现)(附源码)
本文介绍了栈和队列两种数据结构。栈是一种只能在一端进行插入和删除操作的线性表,遵循“先进后出”原则;队列则在一端插入、另一端删除,遵循“先进先出”原则。文章详细讲解了栈和队列的结构定义、方法声明及实现,并提供了完整的代码示例。栈和队列在实际应用中非常广泛,如二叉树的层序遍历和快速排序的非递归实现等。
98 9
|
10天前
|
存储 算法
非递归实现后序遍历时,如何避免栈溢出?
后序遍历的递归实现和非递归实现各有优缺点,在实际应用中需要根据具体的问题需求、二叉树的特点以及性能和空间的限制等因素来选择合适的实现方式。
19 1
下一篇
无影云桌面