一、列表
1、定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
2、特性:
可存放多个值
可修改指定索引位置对应的值,可变
按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
3、列表的创建
list_test=[’lhf‘,12,'ok']
或
list_test=list('abc')
或
list_test=list([’lhf‘,12,'ok'])
3、列表的常用操作
索引

>>> classmates[0] 'Michael' >>> classmates[1] 'Bob' >>> classmates[2] 'Tracy' >>> classmates[3] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range >>> classmates[-1] 'Tracy'
切片

>>> classmates[0:] ['Michael', 'Bob', 'Tracy'] >>> classmates[0::2] ['Michael', 'Tracy'] >>> classmates[:2] ['Michael', 'Bob'] >>> classmates[-2:-1] ['Bob'] >>> classmates[-2:0] [] >>> classmates[-3:-1] ['Michael', 'Bob']
追加

>>> classmates.append('Adam') >>> classmates ['Michael', 'Bob', 'Tracy', 'Adam'] >>> classmates.insert(1, 'Jack') >>> classmates ['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
删除

>>> classmates.pop() 'Adam' >>> classmates ['Michael', 'Jack', 'Bob', 'Tracy'] >>> classmates.pop(1) 'Jack' >>> classmates ['Michael', 'Bob', 'Tracy']
长度

>>> len(classmates)
3
循环

>>> for i in classmates: ... print(i) ... Michael Bob Tracy
包含

>>> 'Bob' in classmates True >>> 'ogen' in classmates False
4、常用函数
.copy() 复制
.append() 在列表后增加元素
.insert() 在索引号前增加元素
.pop() 默认从后面删除元素
.remove() 按照元素进行删除
.index() 按照元素进行查找
.clear() 清楚列表元素,原列表为空
.count() 查找元素的个数
.extend([1,2,3]) 扩展列表,将[1,2,3]列表和原列表合成一个列表
.reverse() 将列表进行倒序
.sort() 将列表中的元素按顺序排列。字符创和数字不能同时排序。.sort(reverse=True)倒序排列。
二、元组
1、定义:与列表类似,只不过[]改成()
2、特性:
可存放多个值
不可变(元组内元素不可改,当元组内有列表时,列表下的子元素可修改)
按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序
3、元组的创建
ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))
4、常用操作
索引

>>> ages = (11, 22, 33, 44, 55) >>> ages[0] 11
切片

>>> ages[0:] (11, 22, 33, 44, 55) >>> ages[0:3] (11, 22, 33) >>> ages[:3] (11, 22, 33) >>> ages[:3:2] (11, 33) >>> ages[-3:-1] (33, 44)
循环

>>> for i in ages: ... print(i) ... 11 22 33 44 55
长度

a=('count',1,'a','b') print(len(a))
包含

>>> 11 in ages True >>> 12 in ages False
三、字典(无序)
1、定义:{key1:value1,key2:value2},key-value结构,key必须可hash
2、特性:
可存放多个值
可修改指定key对应的值,可变
无序
3、字典的创建
person = {"name": "sb", 'age': 18}
或
person = dict(name='sb', age=18)
person = dict({"name": "sb", 'age': 18})
person = dict((['name','sb'],['age',18]))
4、字典的常用操作
新增
>>> d['alex']=100 >>> d {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'alex': 100}
删除
>>> d.pop('Bob') 75 >>> d {'Michael': 95, 'Tracy': 85
键、值、键值对
循环
>>> d.pop('Bob') 75 >>> d {'Michael': 95, 'Tracy': 85
长度
>>> len(d)
4
ps:字典的查找速度最快,占用内存最多,其次是列表,数据放元组占用内存最小
四、数据类型分类
1、可变不可变
可变:列表,字典
不可变:数字,字符串,元组
2、存放值的个数
一个值:数字,字符串
多个值(容器类型):列表,元组,字典
3、取值方式
直接取值:数字
序列类型:字符串,元组,列表
映射类型:字典
五、集合
1、集合是一个无序的,不重复的数据组合,它的主要作用如下:
——去重,把一个列表变成集合,就自动去重了
——关系测试,测试两组数据之前的交集、差集、并集等关系
#集合 # a={1,2,3,4,5,6,7,8,9,10} # b={4,5,6,7,8,9,10,11,12} # #取交集 # print(a & b) # #取并集 # print(a | b) # #取差集 # print(a - b) #取a和b的不同部分,交差集 #print(a ^ b) # s1={'a',1} # s2={'c','d','e'} # print(s1) #s1.discard('a') #删除元素,如果没有,不会报错 #s1.remove('b')#删除没有的元素会报错 #print(s1.pop())#随机删除 #print(s1.issuperset(s2))#没有交集反馈Flase #print(s1.isdisjoint(s2))#没有交集反馈True
六、布尔值
1、所有的数据类型自带布尔值,只有0,None,空的布尔值为False
>>> True True >>> False False >>> 3 > 2 True >>> 3 > 5 False