python标准数据结构类型python常⽤的数据类型包含6种:
1、Number(数字)
2、String(字符串)
3、List(列表)
4、Tuple(元组)
5、Set(集合)
6、Dictionary(字典)
数字、字符串、元组为不可变数据
列表、字典、集合为可变数据
⼀、Number(数字)
包括int,float,bool(python3),complex(负数)⼏种类型
⼆、String(字符串)
字符串是⼀种特殊的元组
三、List(列表)
list是有序的对象集合,索引值以0为开始值,-1为从末尾的开始位置。
主要操作功能如下:
#通过下标访问列表的值
list1 = ["chk","ldlk",1,2,"sdfkj"]
for i in range(len(list1)):
print("%s" % list1[i])
#切⽚
print(list1[1:-1])
#追加
list1.append("jjjjjjj")
print("追加",list1)
#指定位置插⼊
list1.insert(1,"1111111")
print("指定位置插⼊",list1)
#移除
print(list1)
#输出最后⼀个值
print(list1.pop())
#连接,将list转化为字符串
list1 = ["chk","ldlk","lkvl","lkdjsflk","sdfkj"]
sr = " ".join(list1)
print(type(sr))
#查索引下标
#1、这种只能查到相同元素的第⼀个元素对应的索引下标
print(list1.index("sdfkj"))
#2、利⽤enumerate函数与普通for循环对⽐。
for i in range(len(list1)):
print("索引:"+str(i),",值"+list1[i])
for index,value in enumerate(list1):
print("索引:"+str(index),", 值:"+value)
#排序
list2 = [9,3,4,2,45]
list2.sort()
print("排序后",list2)
list3 = ["s","d","f","r","l"]
list3.sort()
print("排序后",list3)
#反转
print("反转后",list2)
print("反转后",list3)
#相加
list = list2 + list3
print("两个列表相加list",list)
#清除
list.clear()
print("clear清除后list",list)
list可以转化为字符串
⼩例⼦:
list1 = ["chk","ldlk","lkvl","lkdjsflk","sdfkj"]
sr = " ".join(list1)
print(type(sr))
如果被转化的list中包含数字,会报错“error: sequence item 2: expected str instance, int found”,list包含数字不能直接转化为字符串
解决办法:print(" ".join('%s' %id for id in list1))
list1 = ["chk","ldlk",1,2,"sdfkj"]
sr1 = " ".join('%s' %id for id in list1)
print(sr1,type(sr1))
四、Set(集合)形式:{a,b}
 集合是⽆重复元素的序列,会⾃动去除重复元素。
 集合是⽆序的,不能通过下标访问,访问可以通过利⽤唯⼀性,以及交集、并集等操作;也可以通过将集合转换成list再访问可以利⽤{ }或者set()创建集合
#定义⼀个空集合
set = set() #只能⽤set()创建空集合
#添加元素
set.add(1) #只能添加⼀个元素
print(set)
set.update({1,2,3,4,6})#可以添加多个元素
set.update({"w":5,"for":7})#可以添加列表、字典、元组等类型的参数字典只添加key值
print(set)
#移除元素
print(set)
set.discard(9) #如果元素不存在不会发⽣错误
print(set)
set.pop()#随机删除集合中的⼀个元素
print(set)
print(len(set))#计算集合元素个数
a = "w" in set #判断元素w是否在集合set中,存在返回true,不存在返回false
print(a)
set.clear() #清空集合
#集合内置⽅法
五、Tuple(元组)形式:(“a”,“b”,...)
>>>tup1 = ('Google', 'Runoob', 1997, 2000); >>> tup2 = (1, 2, 3, 4, 5 ); >>> tup3 = "a", "b", "c", "d"; # 不需要括号也可以
元组可以通过索引值来访问
#只包含⼀个元素
tup1 = (1,)#加上逗号,类型为元组
print(type(tup1))
tup2 = (2) #不加逗号,类型为整形
print(type(tup2))
#元组可以通过下标索引来访问
tup = (1,2,3,"q","for","g")
print(tup[0:3])
print(tup[1:-1])
#元组虽然⾃⾝不可变,但是它可以包含⼀个可变的list
tup = (1,2,3,4,[1,2,3,4])
tup[4][1]=0
print(tup)
#要是想修改元组的值,可以想把元组转化为列表,修改后再有列表转化为元组tup = (1,2,3)
list = list(tup)
list[0]=0
tup = tuple(list)
print("tup",tup)
#修改元组,可以对元组进⾏连接组合(元组⾥的元素值是不允许被修改的)
tup3 = tup1+tup
print(tup3)
#删除,可以删除整个元组,但是元组⾥的元素值不能被删除
del tup3
#print(tup3)
tup3 = tup1+tup #+是组合
print(tup3)
tup4 = tup1*2 #乘号是复制
print(tup4)
#元组内置函数
list = [1,2]
tup=(1,2,3,4,45,6,4)
print(len(tup))  #计算元组元素个数
print(max(tup))  #返回元组中最⼤值
print(min(tup))  #返回元组中最⼩值
print(tuple(list))#将列表转换为元组
六、Dictionary(字典)形式:{key1:value1,key2:value2}
 遍历字典时,可以先将字典转化为元组dic.item()。
python index函数
dic = {"key1":"value1","sch":"菜鸟教程","lll":111}
#修改字典
dic["222"]=222
dic["lll"]="aaa"
print(dic)
#删除字典元素
del dic['lll']
print(dic)
del dic    #删除字典
#计算字典元素个数len
dic = {"aaa":111,"bbb":222,"ccc":333,"ddd":444,"eee":555}
print(len(dic))
#输出字典以可打印的字符串表⽰
str = str(dic)
print(type(str),str,str[0])
#字典遍历
for i,j in dic.items():
print (type(i),i,type(j),j)
for x in dic.items():
print(type(x),x)