List中的元素用中括号[]来表示,可以这样定义一个List:

L=[12,'China',19.2]

从上可以看出,List不要求所有的元素类型是一样的,当然也可以定义一个空的list:

L=[]

需要注意的是,Python中的list是有序的,可以类似数组一样通过下标进行访问,但是要防止下标越界。在元素插入删除方便,可以使用insert()函数将元素插入到指定位置,也可以通过append()函数在末尾追加元素;反过来,可以通过pop()函数删除指定位置的元素,没有参数的情况下默认删除尾部元素。

Tuple则类似于matlab中的cell,翻译成中文为元组,可以看做是一种“不变”的List,用小括号()来表示,也可以通过下标进行访问。由于其“不变”,自然也就不会有插入删除相关的函数了。在Pytorch中对图像进行归一化时候经常看到transforms.Normalize((xxx,),(xxx,))这样的用法,这就是单元素的tuple,加一个逗号是为了防止和声明一个整型相互歧义。除此之外,tutple也常用做函数的返回类型,如果你希望一个函数有多个返回值,这时候只要返回一个tuple就够了。需要指出的是,针对tuple所谓的“不变”指的是其指向的位置不可变,但是对于内容而言,仍然可以通过利用List取出就行下标赋值更改。

Dict顾名思义就是字典,是一种典型的键值对结构,通过使用花括号{}可以定义一个字典:

d={
'Aa': 22,
'Bb': 12
}

由于是键值结构,自然需要使用key来访问,如果key不存在则会报错。字典的长度可以使用len来计算,字典中的元素可以使用键值对的方式进行添加。对于Dict来说,最保险的一种方式是使用d.get('Aa')这种方式访问键值。Dict有以下有点:查询速度快,无序(自然不能通过下标访问),key不可变value可变且key不能重复。

Set就像是去掉了Dict中的key,类似于List结构但是内容又不能重复,可以通过set()函数创建:

s=set(['a','b','c'])

set是无需的,也是不能重复的,判断一个元素死否在某个集合中可通过 'a' in s类似的语句实现,元素增删主要通过add()函数和remove()函数来实现,更多细节现查现用!参考作者()只做个人记录学习使用!