python中的列表,元组,字典以及集合之详解

164 阅读5分钟

Python中有4种内建的数据结构:列表、元组、字典、集合。今天我们将会学习如何使用它们,以及它们如何使编程变得简单。

在开始讲解之前小编在这磨叽两句

小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴“ 点击” 即可领取

一、列表list

是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目。假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了。只不过在你的购物表上,可能每样东西都独自占有一行,

而在Python中,你在每个项目之间用逗号分割。列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表。

一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是 可变的 数据类型,即这种类型是可以被改变的

图片1

基本操作

图片2

基本操作——增

append 追加

图片3

insert 插入

图片4

extend 追加到末尾

图片5

应用实例:

连续输入员工姓名,输入Q/q退出并打印列表

图片6

运行结果:

图片7

列表——删

remove:按照元素删除

图片8

pop:按照索引删除——有返回值

图片9

clear: 清空

图片10

del:删除

图片11

循环删除

图片12

图片13

列表——改

li[索引] = ‘被修改的内容’

图片14

li[切片] = ‘被修改的内容’(迭代式:分成最小的元素,一个一个添加)

图片15

列表——查

从头到尾 :for循环

图片16

某一个:索引

图片17

一段:切片

图片18

列表——嵌套

图片19

列表——循环打印

图片20

其他常用操作

split:字符串转换成列表 str--->list

图片21

join:列表转换成字符串 list--->str

join(可迭代对象iterable) split

可迭代对象iterable:list,str,元祖

图片22

range:顾头不顾尾——相当于有序的数字列表(可以反向,加步长)

图片23

应用实例:

循环打印,列表里遇到列表也需要循环打印

图片24

运行结果:

图片25

二、元祖

元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。

元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变

图片26

图片27

元组的基本操作

图片28

三、字典

字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。

注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以把不可变或可变的对象作为字典的值。

基本说来就是,你应该只使用简单的对象作为键。

键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }

注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中

dict key(键)必须是不可变数据类型,可哈希 value(值)任意数据类型

dict 优点:二分查找去查询     存储大量的关系型数据 特点:<=3.5版本无序,3.6以后都是有序

1.字典— 增 dic['键'] = 值

图片29

setdefault 设置默认

图片30

2. 字典—— 删

删除优先使用pop(有返回值,要删除的内容不存在时不报错),而不是del

pop 删除

图片31

popitem 随机删除

图片32

clear 清空

图片33

del 删除

图片34

update

图片35

4. 字典——查

keysvaluesitems

图片36

得到键值,首选get

图片37

循环输出

图片38

5. 字典的嵌套

图片39

图片40

应用实例:

输入一串字符,遇到字母,转换为‘_’,并打印输出

图片41

运行结果:

图片42

四、集合

集合 类似于列表,但每个元素都必须是独一无二且不可变的:

它是无序的

基本操作

图片43

1. 集合——增

add

图片44

update

图片45

**2. 集合——删 **

set1 = {'alex','wusir','ritian','egon','barry'}

pop--随机删除

图片46

remove——指定元素删除

图片47

lear——清空

图片48

del

图片49

3.集合不能改

集合是无序;

集合中的元素是不可变数据类型

4. 集合——查

图片50

运行结果:

图片51

5. 集合之间的操作

图片52

交集

图片53

并集

图片54

反交集--除交集以外的其他元素

图片55

差集--前者独有的

图片56

子集与超集

图片57

五、公共方法

排序

正向排序:sort()

图片58

倒序排序:li.sort(reverse = True)

图片59

反转:li.reverse()

图片60

补充

字符串列表排序——根据字符串的第一个字符对应的ASCII码排序

图片61

count() 数元素出现的次数

图片62

len() 计算列表的长度

图片63

li.index('元素') 查看索引

图片64

六. 区别与异同

图片65

以上就是小编今天为大家带来的内容,小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴“ 点击” 即可领取