在VB.NET/Java中,集合类型有很多。比如Collection、Hashtable、Set、HashSet、List、数组、Queue、Dictionary等。在Python中,类似的集合类型有List(列表)、Tupel(元祖),Sets(集合)、Dictionary(字典)。
一、List(列表)
列表是由一系列按照顺序排列组成的元素组成。元素之间没有任何关系,也不要求数据类型一致。
例如: objs = [‘a’, 1, ‘bpz’, 3.14159, {‘name’: ‘Tom’, ‘age’: 13}]
访问:obj[0], obj[3], obj[-1]
下标中使用-1的场合,表示访问最后一个元素
使用的是方括号。列表元素可以动态追加、插入、删除、修改,允许重复数据存在。
二、Tupel(元祖)
元祖是不可变的对象,一旦被定义,后面只能被使用,但不能修改,怎么说呢,理解成固定长度的常量数组好了。值不能改,数组长度也不允许改。
声明形式:Objs=(100, ’abc’,500,3.24),注意使用的是圆括号。
访问:obj[0], obj[1], obj[-1]
下标中使用-1的场合,表示访问最后一个元素
三、Sets(集合)
使用set关键字建立集合,集合和列表有很多相似之处。但集合中的元素没有排列顺序,就是说集合中的元素是无序的。集合中也不允许有相同的数据存在。
声明: set1=set([1,'a', 3.14])
因为集合中的元素是没有索引序号的,要想访问结合中的对象,需要先把集合转变为列表后再访问。
print(list(set1)[0])
判断数据是否在集合中存在,可以用“in”“not in”
print(1 in set1), print(1 not in set1)
四、Dictionary(字典)
熟悉web编程的话,一定知道json。Python中的字典型数据,其表达形式其实就是json。
声明:objs = {‘name’:’Tom’, ‘age’:20, ‘sex’:0}
访问:print(objs[‘name’])
字典中的数据属于键-值匹配数据,如果出现键一致的数据项,后面的会覆盖掉前面的项目。
例如:a={'name':'wang', 'age':24,'name':'li'}
那么:print(len(a)) --> 2
print(a['name']) --> li
字典是动态的数据结构,可以在运行过程中动态追加、修改、删除数据项。