Python数据结构基础知识总结

一、Python中的数字类型

在这一部分里,我们将学习Python中数字类型和如何使用数字类型。具体我我们将学到:

1)Python中数字类型的细分

2)基本的数学运算

3)经典除法和地板除法的区别

4)Python中的赋值

1.数字类型

Python有许多不同的数字类型细分,这里我们只学习整数(integer)和浮点数(float)数字类型。

整数通俗理解就是日常数学的整数,又分为正整数和负整数。比如2和-2都是Python的整数类型。

Python中的浮点数很容易被识别,一般他们带有小数点或者带有“e”。比如2.0和-2.1就是浮点数。

4E2也是一个浮点数。(4E2=4*10^2=400.0)。

2.基本数学运算


基本数学运算1


基本数学运算2

3. Python的赋值

一般我们使用一个等号做赋值。等号左边是变量名称,等号右边是赋值内容。让我们看下面的例子。


赋值

以下为变量名命名规则:

1)变量名不能以数字开头;

2)变量名中不能用空格,可以用"_"代替,比如my_name才是正确的变量名命名方法;

3)在变量名中不能使用以下符号 :'",<>/?|\()!@#$%^&*~-+

4)根据PEP8,变量名最好小写;

5) 变量名中尽量不出现小写的字母l和字母O,因为容易和数字1数字0混淆

6)避免用Python的关键字做变量名


变量命名展示

通过type()查看数据类型


查看数据类型

二、Python中的字符串类型

Python的字符串用于记录文本信息。字符串实际是一串序列或者说Python按一定的次序记录字符串的信息。比如,对于“Hello”这个字符串,Python能识别出其为字符串以及它的特定顺序。这意味着我们可以通过下标取抓取“Hello”内部的字母。这一点非常关键。

关于字符串部分,我们将学习:

1)创建字符串

2)打印字符串

3)字符串索引和切片

4)字符串不变性

5)字符串常用函数方法

6)格式化打印

1、创建字符串

通过单引号和双引号创建字符串


创建字符串

2.打印字符串

使用jupyter notebook可以直接输出字符串,但这并不是正确的打印字符串的方法。正确的打印字符串的方法应该是使用print()函数。


打印字符串

3.字符串索引和切片

前面提到字符串是有序序列,意味着Python可以下标进行索引。

在Python中,我们用变量名[]进行索引。[]里的数字又叫下标,Python的下标是从0开始,这个非常重要。下面我们通过例子来掌握。

先创建字符串


创建字符串

开始索引和切片


索引和切片

请注意s[:3]指的是输出0-2下标的字符,并不包括3,所以是'hel'


切片2


切片3

4.字符串不变性

字符串有一个重要的属性是不变性,也就是说字符串一旦创建,其内部的元素不可以改变.我们通过例子来看.


字符串不变性

虽然字符串内部不可改变,但是外部却可以进行一些操作,比如拼接,比如做简单数学运算.见例子.


字符串操作

5.字符串常用函数方法

常用字符串函数方法包括字符串长度、将字符串全部变为大写、将字符串全部变为小写、将字符串用空格符隔开。


字符串常用函数方法

6.格式化打印

字符串格式化可以让你往字符串插入元素而不需要使用拼接的方法.用一个例子来进行直观的对比,两种方法的差别在哪里?

player = ' thomas'

points = '33'

'last night, ' + player + 'scored ' + str(score) + 'points' #拼接的方法

f'last night, {player} scored {points} points.' #字符串格式化


字符串格式化打印

6.1使用占位符进行格式化打印

6.1.1 你可以使用%s往你的语句里插入字符串.%又称作字符串格式化运算符.

print("I am going to inject %s here." %'something')



占位符格式化打印

6.1.2通过%后接元组实现多个元素插入

print("I am going to print %s text here, and %s text here." %('some', 'more'))


占位符格式化打印2

6.1.3 甚至可以通过变量名称来传递进行格式化打印

x, y = 'some', 'more'

print("I am going to print %s text here, and %s text here." %(x, y))


占位符格式化打印3

6.1.3 %r %s %d的区别

%r会把字符串括住的引号也打印出来,%d和%s都可以格式化打印整数和浮点数,%d会自动将数字取整数部分(注意是取整而不是四舍五入)。

%r %s %d的区别

6.1.4 浮点数的格式化打印和精度问题

浮点数使用例如%5.2f来进行格式化打印。这里面,小数点前面的数字表示输出列数数字位数大于它时,按实际位数输出,小数点前空缺也是小数点后面的数字表示输出的小数点位数,如果位数不足就会四舍五入,如果位数不够显示就会在后面补0.


浮点数格式化打印

6.1.6混合格式化打印

print(‘First:%s, Second:%5.2f, Third: %r' %('hi!', 3.1415, 'bye!'))


混合格式化打印


6.2 通过.format()方法来进行格式化打印

6.2.1 相比占位符格式化打印,.format()打印有以下优势。

6.2.1.1 插入的数据可以通过下标来索引

print(’The {2}, {1}, {0}' .format('fox', 'brown', 'quick'))



索引格式化打印

6.2.1.2 插入的元素可以赋予关键字

print('First Object:{a}, Second Object:{b},Third Object:{c}'.format(a=1,b='two',c=12.3))


插入的元素可以赋予关键字

6.2.1.3 插入的元素可以重复使用,避免多次输入


避免元素多次输入

6.2.2 .format()的对齐、填充和精度

通过{}你可以指定字段长度、指定对齐方式和指定取整精度


定字段长度、指定对齐方式和指定取整精度

.format()默认文字左对齐,数字右对齐,你可以<,^, 或者> 来调整实现左对齐、居中和右对齐。


对齐方式

在对齐处加上填充符号


在对齐处加上填充符号

.format() 的精度和占位符格式化打印处理方法一样


.format() 的精度

6.3f-strings格式打印方法

python3.6引入了f-strings格式化打印方法,和.format()相比,f-strings方法可以直接将外部变量整个插入到字符串里.如果想获得字符串外部的引号,可以使用!r.


f-strings格式化打印方法

f-strings使用"result: {value:{width}.{precision}}"来表示精度


f-strings精度

请注意使用f-strings方法,精度指的是所有的数字个数而不是小数点后的数字个数.这和科学计数以及统计分析类似.可惜的是,f-strings不会对齐向右自动填充.


f-strings精度2

可以通过结合f-strings和.format()的方法使数字对齐且向右填充


精度


三、Python中的列表类型

列表是Python中最应该被称为有序序列的概念.而且和前面的字符串不同,列表中的元素是可以改变的.这部分里我们将学到:

1)创建列表

2)列表索引和切片

3)基本函数方法

4)列表嵌套

5)列表解析

1.创建列表

列表用[]表示,[]里面的每一个元素用","隔开.

列表内的元素可以装不同的数据类型.


创建列表

2.列表索引和切片

列表的索引和切片和字符串一样.我们来看一些例子.


列表索引和切片

我们可以用+ 来拼接列表,就像字符串一样.


拼接列表

请注意,拼接只是临时并不会改变my_list.要采用重新赋值的方法才能永远改变my_list


重新赋值

我们可以同样用*给列表做简单运算


计算


3.基本函数方法

你可能会将Python中的列表和数组联系起来,但是Python中的列表灵活很多,第一,它没有大小限制,第二它也没有类型限制.

创建一个新列表


创建新列表

使用append()在列表末尾添加新元素


append

使用pop()将列表末尾的元素删除,同时pop关键字删除也可以通过下标索引指定删除的元素


pop

如果下标对应没有响相应的元素,程序会报错


报错

可以使用reverse()来将元素顺序颠倒,可以使用sort()将元素按照字母顺序排列


reverse&sort

4.列表嵌套

Python一个很大的灵活性就是数据结构支持嵌套,也就是说数据结构里含数据结构.比如一个列表里面的元素是另一个列表.


列表嵌套

我们可以用下标抓取元素,不过现在因为列表嵌套,元素有两层结构,分别是矩阵里的元素,矩阵里元素的元素.


抓取元素

5.列表解析

列表解析可以迅速构造列表,理解列表解析需要了解for loop循环.我们使用列表解析来抓取矩阵中的第一行的每一个元素.


列标解析


四、Python中的字典类型

字典是一种映射.和字符串以及列表通过元素位置不同定位不同,字典是无序的而是由不同的键-值对构成.通过找到键就可以找到相应的值.字典里的值可以是任何Python的类型,因此应用起来非常的灵活.

在这部分里我们将学到:

1.) 创建字典

2.) 提取字典里的信息

3.) 字典嵌套

4.) 常用字典函数方法

1.创建字典



创建字典

字典对于数据类型非常宽容,可以放置任何的数据类型。比如:


字典内部数据

将字典内部的值进行简单数学运算


简单数学运算

通过赋值来创建字典


赋值创建新字典

2.字典嵌套

简单理解,就是字典里面再包含字典,看下面的例子



字典嵌套

3.常用字典函数方法


常用字典函数方法


五、Python中的元组类型

元组和列表非常相似,不同的是元组是不能更改的,在表示不能更改的元素比如日期、时间等时使用元组。因为学过列表的相关知识,元组和列表的方法很相似。

1.创建元组


创建元组

2.基本函数方法

元组也有一些内置的函数方法,但是不如列表那么多。


基本函数方法

3.不可改变性

记住元组是不能改变的,一旦创建好的就只能保持原来的样子,删除元组元素或尝试增加元组元素都会报错。


不可改变性

六.Python中的集合和布尔值类型

Python中的集合和布尔值类型并不是重点,可以快速了解一下.

1.集合

set是一个无序且不重复的元素集合。


集合

请注意虽然有{},但并不是字典,虽然你可以把集合比作只有键的字典.我们知道集合的元素是唯一的不重复的,那如果我们尝试将重复的元素添加到集合里会是什么情况呢?


集合2

集合主要用于去重


去重

2.布林值

所谓 布林值 ( Boolean Value ) 就是一种只有 true 或 false 两种值的类型.


布林值

可以利用比较运算符创建布林值


运算符创建布林值

你可能感兴趣的:(Python数据结构基础知识总结)