由于最近在看深度学习的代码,看到需要建立字典和列表来存储什么东西的时候,就想要去把字典和列表好好的了解清楚,其应用范围,差别,等等东西
首先我们来介绍,在python中存在如下的数据结构:列表list,元祖tuple,字典dict以及集合set
1. 列表(list)
在列表中的数据结构是可以不一样的,列表中的元素是可以改变的,这一点和元祖中的数据是不能够改变的是有差别的
在列表中可以进行很多操作
索引:列表中的所有元素都是有编号的-从0开始递增,这些元素可以通过编号分别访问
分片:与使用索引访问单个元素类似,可以使用分片操作来访问一定范围内的元素,分片可以通过冒号隔开的两个索引来实现,第一个索引号是要提取的第一个元素的编号,最后的索引是分片之后剩余部分的第一个元素的编号
列表相加:可以直接实现两个列表的想加
在列表末尾增加数:append,a.apend
在列表中插入某个数据a.insert(1,129)à在列表第2个元素中插入元素129
在列表中删除数据a.pop()à若在中括号中没有任何数字,则默认删除最后一个元素,若为a.pop(2),则为删除列表的第二个元素
列表数据切片àa[0:3] 取出列表中第1,2,3个元素,
a[:3]从第一个元素开始,取到第3个元素
a[1:]从第二个元素开始,取到最后一个元素
a[0:-1]从第一个元素开始,取到最后一个元素的前一个元素
列表生成式:
list(range(1,11))
[x**2] for x in range(1,10)
[i for i in range(1,100) if i%10==0]
(2)元组()
(tuple,用()来表示,tuple和list非常类似,但tuple一旦初始化就不能修改,c常用来做常量,防止被修改)
(2)字典dictà字典中的数据可以是任何类型,也可以是字典
mv={'name':'肖生克的救赎','actor':'罗宾斯','score':'9.6','country':'USA'}
mv
若要打印出所有的键值àmv.keys()
若要打印出所有的值àmv.values()
对数据进行修改可以直接修改àmv[‘泰坦尼克号’]à可以直接将名字修改
增加数据àmv[‘directors’]=’wangke’
删除数据àmv.pop(directors)
(4)字典
字典中的值并没有特殊的顺序,都是存储在一个特定的键(key)下,键可以是数字,字符串甚至是元组