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)

#移除
list1.remove(2)
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)

#反转
list2.reverse()
print("反转后",list2)
list3.reverse()
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)

#移除元素
set.remove(6) #如果元素不存在会发生错误
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()。

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)
原文地址:https://www.cnblogs.com/ruguokeyi/p/11837108.html