zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Zuul token FIlter 验证失败结果输出
    springboot 使用 dev tool 导致 CastException
    索引失效的情况汇总
    JVM笔记-GC常用参数设置
    关于gdb和shp的FID问题
    配置mac百度云同步盘
    【python常用函数1】
    【python环境配置1】 环境变量与常用模块
    【nodejs笔记——小知识点汇总】
    ArcGIS标注
  • 原文地址:https://www.cnblogs.com/ruguokeyi/p/11837108.html
Copyright © 2011-2022 走看看