Python从入门到实战之数据结构篇 我是栗子——专为小白准备《Python从入门到实战》内容。这不是上一期刚讲完循环判断还给大家出了很多新手的题目边学边练习才有效果嘛。时隔几天大家都吼完了叭~实在没写完的慢慢复习我更新文章也挺慢的哈哈哈哈今天想一想要学数据结构啦~一、Python有那几种数据结构Python 有四种数据结构分别是列表、字典、元组集合。每种数据结构都有自己的特点并且都有着独到的用处。为了避免过早地陷入细枝末节。我们先从整体上来认识一下这四种数据结构从最容易识别的特征上来说列表中的元素使用方括号扩起来字典和集合是花括号而元组则是圆括号。其中字典中的元素是均带有‘的 key 与 value 的对应关系组。1)列表list)1.1 什么是列表最显著的特征是列表中的每一个元素都是可变的列表中的元素是有序的也就是说每一个元素都有一个位置列表可以容纳 Python 中的任何对象。列表中的元素是可变的这意味着我们可以在列表中添加、删除和修改元素。输入12Weekday[Monday,Tuesday,Wednesday,Thursday,Friday]print(Weekday[0])第三个特征是列表可以装入 Python 中所有的对象往下看12345678910all_in_list[1,#整数1.0,#浮点数a word,#字符串print(1),#函数True,#布尔值[1,2],#列表中套列表(1,2),#元组{key:value}#字典]1.2列表的增删改查对于数据的操作最常见的是增删改查这四类。从列表的插入方法开始输入123fruit[pineapple,pear]fruit.insert(1,grape)print(fruit)在使用insert方法的时候必须指定在列表中要插入新的元素的位置插入元素的实际位置是在指定位置元素之前的位置如果指定插入的位置在列表中不存在实际上也就是超出指定列表长度那么这个元素一定会被放在列表的最后位置。其他方法达到“插入”的效果12fruit[0:0][Orange]print(fruit)删除列表中元素的方法是使用 remove()123fruit[pinapple,pear,grape]fruit.remove(grape)print(fruit)替换修改其中的元素1fruit[0]Grapefruit删除还有一种方法那就是使用 del 关键字来声明12delfruit[0:2]print(fruit)2字典Dictionary)2.1 什么是字典字典这种数据结构的特征也正如现实世界中的字典一样使用名称内容进行数据的构建在 Python 中分别对应着键key值value习惯上称之为键值对。字典的特征总结如下字典中数据必须是以键值对的形式出现的逻辑上讲键是不能重复的而值可以重复字典中的键key是不可变的也就是无法修改的而值value是可变的可修改的可以是任何对象。举个小栗子1234567这是字典的书写方式NASDAQ_code{BIDU:Baidu,SINA:Sina,YOKU:Youku}一个字典中键与值并不能脱离对方而存在如果你写成{BIDU:}会引发语法错误。记住这两个特征 key 和 value 是一一对应的key 是不可变的。同时字典中的键值不会有重复即便你这么做相同的键值也只能出现一次12a{key:123,key:123}print(a)2.2 字典的增删改查首先我们按照映射关系创建一个字典1NASDAQ_code{BIDU:Baidu,SINA:Sina}与列表不同的是字典并没有一个可以往里面添加单一元素的“方法”但是我们可以通过这种方式进行添加12NASDAQ_code[YOKU]Youkuprint(NASDAQ_code列表中有用来添加多个元素的方法 extend() 在字典中也有对应的添加多个元素的方法update()1NASDAQ_code.update({FB:Facebook,TSLA:Tesla})删除字典中的元素则使用del方法1delNASDAQ_code[FB]需要注意的是虽说字典是使用的花括号在索引内容的时候仍旧使用的是和列表一样的方括号进行索引只不过在括号中放入的一定是——字典中的键也就是说需要通过键来索引值1NASDAQ_code[TSLA]同时字典是不能够切片的也就是说下面这样的写法应用在字典上是错误的1chart[1:4]# WRONG!3元组Tuple)元组其实可以理解成一个稳固版的列表因为元组是不可修改的因此在列表中的存在的方法均不可以使用在元组上但是元组是可以被查看索引的方式就和列表一样12letters(a,b,c,d,e,f,g)letter[0]4)集合Set)4.1什么是集合每一个集合中的元素是无序的、不重复的任意对象我们可以通过集合去判断数据的从属关系有时还可以通过集合把数据结构中重复的元素减掉。集合不能被切片也不能被索引除了做集合运算之外集合元素可以被添加还有删除123a_set{1,2,3,4}a_set.add(5)a_set.discard(5)5番外——数据结构的一些技巧5.1多重循环举个栗子比如在整理表格或者文件的时候会按照字母或者日期进行排序在 Python 中也存在类似的功能。12num_list[6,2,7,4,1,3,5]print(sorted(num_list))sorted函数按照长短、大小、英文字母的顺序给每个列表中的元素进行排序。这个函数会经常在数据的展示中使用其中有一个非常重要的地方sorted函数并不会改变列表本身你可以把它理解成是先将列表进行复制然后再进行顺序的整理。