一、列表
1、列表特点:
- 列表是有序的项目集合
- 列表中可以存放任何数据类型
- 列表是可变的数据类型
2、列表的增、删、改
#列表的修改
#可以通过下标和切片来进行增加和修改
#当切片出来的列表为空的时候,就是在start位置开始插入相应的值
#当切片出来的列表不为空的时候,则替换查找出来的list元素
#切片修改,必须要赋值一个可迭代对象
#下标修改,可以接受任意值
3、列表的排序
(1)排序时,列表中的元素类型必须要一致
(2)列表的升序:list.sort();sorted(list)
列表的降序:list.sort(reverse=True)
(3)两种升序方法的区别:
4、列表的统计
(1)统计列表的长度:len(list)
(2)统计某个元素出现的次数:list.count('a') --统计a元素出现的次数
(3)统计某个元素第一次出现时的下标:list.index(''aa)--返回aa第一次出现的下标位置
二、元组
1、元组特点:
有序项目集合
可以存放任何类型对象
不可变数据类型
2、元组的属性:元组只有count和index两个属性;
3、元组里面包列表,列表里面的元素可以改变,因为列表是可变数据类型,更改里面的元素不会改变列表本身
4、注意事项:当元组内只有一个元素时,后面要接个逗号,因为他会觉得括号是结合运算,括号里面的数据是什么类型就会识别成什么类型
三、字典
1、字典的特点:
键值映射(最大特点)
字典是无序的(代表他没有下标)
字典是可变对象
字典的key是可hash类型(理解为不可变数据类型),字典的value可以是任何数据类型
key是唯一的,key天生去重
2、字典的增、删、改、查
##字典的新增和修改:
dict[key] = value
如果字典key存在就是修改,key不存在就是新增
3、字典的转换:
列表包元组可以转换成字典
4、字典的数据合并:
(1)将d6合并到d5里
(2)dictt(d5,**d6)--将d5和d6合并起来生成一个新的字典
5、成员关系
(1)判断key在不在:
dict.keys()--查看所有的key值
key in dict--查看key是不是在字典里
(2)判断value在不在:
dict.values()--查看所有的values
valu in dict.values()--查看value在不在字典里
6、字典的遍历:
(1)以列表返回可遍历的(键, 值) 元组数组
(2)遍历keys:
for i in dict.keys()
(3)遍历values:
for i in dict.values()
四、集合
1、集合的特点:
#集合是无序
#集合的元素必须是可hash的,
# 集合是天生去重
#可变数据类型
#集合可以看做是一个只有key的字典
2、集合的增、删、改、查
集合的增加:(1)s1.add('a')--只能传入一个,在最后面加上a
(2)s1.update(['a','b'])--可以传入多个,但是传入的必须是可迭代对象
集合的删除:(1)s1.remove(1)--删除指定元素,没有会报错
(2)s1.discard(5)--删除指定元素,没有不会报错,推荐使用
一些小点:(1)字典的key和集合都是天生去重的,
(2)列表和元组是有序的项目集合,意味着他们可以通过切片和下标的方式取值;
(3)列表、集合、字典(key是不可变的)都是可变数据类型,元组是不可变数据类型