列表:类似于 C中的数组,在python中用方括号“ [ ] ” 括起来,不同的数据项用逗号分隔开。特别的,python列表中的数据项不需要同一个类型。
>>> list1 = ['a','CSDN',47,33]
>>> print(list1[1])
CSDN
>>> list1[0] = 'beauty'
>>> print(list1)
['beauty', 'CSDN', 47, 33]
上图中,我们创建了一个list1 列表 ,可以根据索引的方式访问,第一个元素的索引值为0,第二个元素为1,以此类推。还可以直接对列表中的某个元素进行修改,上图中我们就将字符串'a'修改为了字符串'beauty'。
python中还可以使用列表分片的方式来对多个元素进行操作。如若[ : ]冒号两边不写,则左边默认为0,右边默认为最后一位。
>>> list2 = list1[1:3]
>>> print(list2)
['CSDN', 47]
>>> print(list1[:4])
['beauty', 'CSDN', 47, 33]
>>> print(list1[-1])
33
>>> list1.append('hello')
>>> print(list1)
['beauty', 'CSDN', 47, 33, 'hello']
上图代码中,我们使用了列表的内置方法append(),它负责在列表尾部添加一个新元素。列表还有许多功能强大的内置方法,可以通过dir(list)命令列举出来。
元组:类似于对列表的一种约束,在python中用小括号“ ( ) ” 括起来。与列表相同,元组也可以用索引访问,同样也可以套嵌。不同之处在于,元组中的元素一旦创建,便不能被修改。 但可以使用一种迂回的策略完成对元组的修改。
>>> tup1 = ('高数','chemistry',99,20)
>>> print(tup1[-1])
20
>>> tup1[1] = 520
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
tup1[1] = 520
TypeError: 'tuple' object does not support item assignment
>>> tup1 = ('高数','chemistry',99,20)
>>> id(tup1)
54461088
>>> tup1 = tup1[:2]+('zy',)+tup1[2:]
>>> print(tup1)
('高数', 'chemistry', 'zy', 99, 20)
>>> id(tup1)
49798144
上图试图修改元组tup1中索引值为1的元素数据,发生了错误。
字典:字典由多个“键(Key) - 值(Value)对”构成,每个键和值都用冒号分隔开,不同的键值用逗号分隔开,整个字典包括在花括号“{ }”之中
>>> dict = {'Name':'zhangsan','Age':12,'class':'五年级3班'}
>>> print('Name :',dict['Name'])
Name : zhangsan
>>> dict['Age'] = 13 #更新Age的值
>>> dict['school'] = '实验小学' #为字典添加新的键值对信息
>>> print(dict)
{'Name': 'zhangsan', 'Age': 13, 'class': '五年级3班', 'school': '实验小学'}
上图为字典的一些用法。
集合:Python中的集合是一个无序的元素集,集合中的每个元素都是孤立的,且是唯一的,也就是说,同一个集合中的元素不能够重复。特别的,集合中的元素只能包括数字、字符串、元组等不可变数据,不能包括列表、字典和集合等可变类型的元素。
>>> a = {3,4,5}
>>> b = {3,3,5,4,5}
>>> print(a)
{3, 4, 5}
>>> print(b)
{3, 4, 5}
此外,也可以使用set()函数,将列表和元组等其他可以迭代的对象转换为集合。如果原来列表或元组中有重复数据,则在转换过程中,仅保留一个。集合支持一系列标准操作,包括并集、交集、差集和对称差集等数学运算。如下代码所示。
>>> a_set = set([8,9,10,11])
>>> b_set = {1,2,3,4,7,8,9}
>>> a_set | b_set #并集
{1, 2, 3, 4, 7, 8, 9, 10, 11}
>>> a_set & b_set #交集
{8, 9}
>>> a_set - b_set #差集(数据项在a_set,但不在b_set中)
{10, 11}
>>> a_set ^ b_set #对称差集(项在a_set或b_set中,但不会同时出现在二者中)
{1, 2, 3, 4, 7, 10, 11}