在Python中有4种内建的数据结构:列表、元组、字典、集合。今天我们将会学习如何使用它们,以及它们如何使编程变得简单。
在开始讲解之前小编在这磨叽两句
小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴“ 点击” 即可领取
一、列表list
是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目。假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了。只不过在你的购物表上,可能每样东西都独自占有一行,
而在Python中,你在每个项目之间用逗号分割。列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表。
一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是 可变的 数据类型,即这种类型是可以被改变的
基本操作
基本操作——增
append 追加
insert 插入
extend 追加到末尾
应用实例:
连续输入员工姓名,输入Q/q退出并打印列表
运行结果:
列表——删
remove:按照元素删除
pop:按照索引删除——有返回值
clear: 清空
del:删除
循环删除
列表——改
li[索引] = ‘被修改的内容’
li[切片] = ‘被修改的内容’(迭代式:分成最小的元素,一个一个添加)
列表——查
从头到尾 :for循环
某一个:索引
一段:切片
列表——嵌套
列表——循环打印
其他常用操作
split:字符串转换成列表 str--->list
join:列表转换成字符串 list--->str
join(可迭代对象iterable) split
可迭代对象iterable:list,str,元祖
range:顾头不顾尾——相当于有序的数字列表(可以反向,加步长)
应用实例:
循环打印,列表里遇到列表也需要循环打印
运行结果:
二、元祖
元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。
元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变
元组的基本操作
三、字典
字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。
注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以把不可变或可变的对象作为字典的值。
基本说来就是,你应该只使用简单的对象作为键。
键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。
注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中
dict
key(键)必须是不可变数据类型,可哈希
value(值)任意数据类型
dict 优点:二分查找去查询
存储大量的关系型数据
特点:<=3.5版本无序,3.6以后都是有序
1.字典— 增
dic['键'] = 值
setdefault 设置默认
2. 字典—— 删
删除优先使用pop(有返回值,要删除的内容不存在时不报错),而不是del
pop 删除
popitem 随机删除
clear 清空
del 删除
update
4. 字典——查
keys,values,items
得到键值,首选get
循环输出
5. 字典的嵌套
应用实例:
输入一串字符,遇到字母,转换为‘_’,并打印输出
运行结果:
四、集合
集合 类似于列表,但每个元素都必须是独一无二且不可变的:
它是无序的
基本操作
1. 集合——增
add
update
**2. 集合——删 **
set1 = {'alex','wusir','ritian','egon','barry'}
pop--随机删除
remove——指定元素删除
lear——清空
del
3.集合不能改
集合是无序;
集合中的元素是不可变数据类型
4. 集合——查
运行结果:
5. 集合之间的操作
交集
并集
反交集--除交集以外的其他元素
差集--前者独有的
子集与超集
五、公共方法
排序
正向排序:sort()
倒序排序:li.sort(reverse = True)
反转:li.reverse()
补充
字符串列表排序——根据字符串的第一个字符对应的ASCII码排序
count() 数元素出现的次数
len() 计算列表的长度
li.index('元素') 查看索引
六. 区别与异同
以上就是小编今天为大家带来的内容,小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴“ 点击” 即可领取