列表,元组,字典,集合属于python里四种数据存储容器,四种容器各有各的特点,我们在这四种容器中无非就是 增删改查 ,下面我们分别来看一下。
一、列表
1.列表的创建
(1)list1=[1,'李四','19.9',{key:value},(1,2),[1,2],{1,2,3}] 注意符号为[ ],无限制,可以储存任意类型数据。
(2)增 三个基本函数:
insert(index,obj)index找到列表的下标,obj插入的元素
append() 末尾添加可以用于增加所有数据类型
extend() 主要用于在末尾插入一个可迭代对象中的每个值
概念:迭代:重复取值,能遍历取出其中值的一定是可迭代的。
extend()和append()的相同和不同:
相同:都在末尾添加
不同:在添加可迭代对象时,append()把对象看成一个整体来添加一个值到列表中,而extend把对象迭代后放入多个值到列表中。
2.删 三个基本函数
remove(obj):找到第一个元素删除 ,返回值为none值
pop( ): 删除最后一个元素,返回值为删除的元素
也可以pop(index)来删除,与remove就是返回值不同
clear(): 清除所有元素
特殊语句:del list1[index] 找下标删除元素
3.改
list1[index]='hah'
4.查 切片和索引
print(list1[index])
print(list1[index1:index2:setp]) #index1是开始下标,index2是结束下标,setp是隔几个元素来取值,称 步
列表最后一个下标为 -1 反向切片
print(list1[-1:-3:-1])
5.其他函数
count()计算列表中的个数
sort()进行排序 默认为升序,列如:list=[1,2,3]
①list1.sort()
print(list1) -------------------->[3,2,1]
② list2=sorted(list1) print(list2) -------------------->[3,2,1]
③可以设置default为reverse 如
list1.sort(reverse)
二、元组
元组定义符号( ) 其内容是不可变的。相当于只读文件,可看不可改
我们还是从
增删改查的角度来看由于元组不可改,所以元组主要以查为主,没有增删改函数
那么除了初始化向元组赋值 tuple1=(1,2,‘hah’)如何向元组中加入数值,
我们以在元组中保存10个随机数为例
import random
list1=[ ]
for i in range(10):
ran=random.randint(1,20)
list1.append(ran)
tuple1=tuple(list1)
print(tuple1)
先形成10个随机数的列表再把 列表 转化成 元组
1.查
元组的查询和列表的查询类同。
2.元组的内置函数 index ( ) count()
用法: 元组名.index(obj) 找到对应元素下标
元组名.count(obj) 找到元组中有多少个obj
3.运算符:
+ t2=(4,5)+(2,1) 用于两个元组之间的合并
* t2=(1,) t3=t2*3 print(t3)----------->(1,1,1)
三、字典
核心:元素主要以键对值的形式保存,也可称之为关联数组 :{key1:value1,key2:value2……}
并且key是唯一值,有点类似数据库中的主键,value可以是任意值,重复值
1.增和改:
dict1={key1:value1,key2:value2}
dict1['key1']=value 此为改
print(dict1)
dict1['key100']=value 此为增
print(dict1)
2.查
①根据key查value值 print(dict1[key]) --------------->value
②直接对字典进行遍历
for i in dict1:
print(i)------------->key1
------------->key2
………………
------------->key8
③for value in dict1.values() 取字典中的value值
for item in dict1.items() 取出字典中的key值和value值
for key in dict1.items() 取出字典中的key值
3.删 四个基本函数(内置函数)
remove(key)
pop(key,default)
popitems()删除最后一个键对值
clear()删除所有键对值,清空字典
4.其他内置函数:
①update(key,value)有则覆盖更新,无则添加
②fromkey(seq)将seq转化为字典的key,如dict1.fromkey(123,default)
-------> {'1':none,'2':none,'3':none},无默认值则value为none,,有则输出