美文网首页
python-基础篇04:list tuple dict

python-基础篇04:list tuple dict

作者: 只知坚持_d778 | 来源:发表于2018-05-14 17:29 被阅读0次

    list

    list可以存储任何数据类型的数据。
    list是有序的,指的是添加元素和取出元素的顺序是一致的,即先进先出,后进后出
    

    list列表声明的语法:

    列表名=[值,值2,...值n]
    列表中的每一个元素都对应一个索引
    列表中的第一个元素的索引是:0
    列表中的最后一个索引是:列表的长度-1
    

    一般情况下一个容器中,尽量存放同一个类型的数据,方便后续操作

    容器的学习:

    1.C create
    
    2.D delete
    
    3.U update
    
    4.S select  R reader
    
    5.算法 排序
    

    list常见的操作方法:

    1.添加   
        列表 * num 
        列表.append(value) 功能:向列表的尾部添加指定的元素
        列表.insert(index,value) 功能:向列表中的指定位置 添加元素
        列表.extend(list) 功能:向列表的尾部 添加list中的所有元素
    
    2.查询:
    
        value=列表[index] 功能:根据索引获取指定的值
    
        index=列表.index(value) 功能:获取列表中第一次出现指定值的索引 如果值不存在 则报出错误
    
        count=列表.count(value) 功能:统计列表中出现指定的值的次数
    
        length=len(列表) 功能:获取列表的长度
    
        max=max(列表) 功能:获取列表中最大值
    
        min=min(列表) 功能:获取列表中的最小值
    
    3.修改
    
        列表[index]=value 功能:根据列表的索引 修改值
    
    4.删除
    
        value=列表.pop() 功能:删除列表中最后一个元素 并返回此元素
    
        value=列表.pop(index) 功能:根据索引删除列表中的元素 并返回此元素
    
        del 列表[index] 功能:根据索引删除列表中的元素
    
        列表.remove(value) 功能:删除列表中第一次出现的值
                
                list1.clear()  功能:清空列表
     判断:
        in  如果存在返回True 否则返回False
        not in 如果不存在返回True 否则返回False
    5. +   *
      + 列表之间表示组合
      list1 += [1000, 2000]
      * 重复元组元素
      list2 = ['hello'] * 5
    6. 排序
       列表.reverse() 反转列表中的元素
       列表.sort() 列表排序
    7.切片    
       # 可以通过完整切片操作来复制列表
       fruits3 = fruits[:]
       # 可以通过反向切片操作来获得倒转后的列表的拷贝
       fruits5 = fruits[::-1]
    8. 生成列表
      用range创建数字列表   list(range(1,11))
      生成表达式  【】
      生成器 ()
    9. COPY
      list.copy()
    

    zip([iterable, ...])

    >>>a = [1,2,3]
    >>> b = [4,5,6]
    >>> c = [4,5,6,7,8]
    >>> zipped = zip(a,b)     # 打包为元组的列表
    [(1, 4), (2, 5), (3, 6)] # [i for i in zip(a, b)]
    >>> zip(a,c)              # 元素个数与最短的列表一致
    [(1, 4), (2, 5), (3, 6)]
    >>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
    [(1, 2, 3), (4, 5, 6)]
    

    元组 tuple

    元组是不可变类型
    元组和列表非常相似
    元组是用小括号 列表使用[]
    元组的元素都一个索引
    元组中第一个元素的索引是:0
    元组中最后一个元素的索引:元组的长度-1
    元组中也有内置函数:len(元组名) 来获取元组的长度
    

    元组的声明:

    元组名=(元素...元素)
    

    元组声明的方式:

    第一种方式: 有多个元素
               
        arr=(12,3,4,5)
    
    第二种方式:没有包含元素的元组
                
        tup=()
    
    第三种方式:声明一个包含元素的元组
    
        tup=(10)
    

    元组中的元素是不能被删除的 但是可以通过del 元组名 删除整个元组

    tup4=(2,3,5,7)
    print(tup4)
    del tup4 #元组中的元素是不能被删除的 但是可以通过del 元组名 删除整个元组   
    

    第一种遍历方式 :根据索引

    tupx=(11,22,33,44,55,66)
    x=0
    while x<len(tupx):
        print("索引:%s--->元素:%s"%(x,tupx[x]))
        x+=1
    print("********************")
    

    第二种方式: for in

    for t in tupx:
        print(t)
    print("********************")
    

    第三种方式:for in range(元组名)

    for f in range(len(tupx)):
        print("索引:%s--->元素:%s"%(f,tupx[f]))
    
    print("********************")
    for g,obj in enumerate(tupx):
        print("索引:%s--->元素:%s"%(g,obj))
    

    求元组最值

    max(元组名)
    min(元组名)
    

    用基础代码写最值

    #声明一个元组
    tup=(90,56,23,-12,88,345)
    #把元组中的第一个元素看做是最大值
    m=tup[0]
    #把元组中的第一个元素看做是最小值
    m2=tup[0]
    #遍历元组
    a=0
    while a<len(tup):
        #求最大值
        if m<tup[a]:
            m=tup[a]
        #求最小值
        if m2>tup[a]:
            m2=tup[a]
        a+=1
    print("元组中的最大值:%s"%m)
    print("元组中的最小值:%s"%m2)
    
    #换索引
    tup2=(90,56,23,-12,88,345)
    #把第一个元素的索引 看做是最大值对应的索引
    maxIndex=0
    #把第一个元素的索引 看做是最小值对应的索引
    minIndex=0
    #遍历元组
    b=0
    while b<len(tup2):
        #求最大值对应的索引
        if tup2[maxIndex]<tup2[b]:
            maxIndex=b
        #求最小值对应的索引
        if tup2[minIndex]>tup2[b]:
            minIndex=b
        b+=1
    print("元组中的最大值:%s"%tup2[maxIndex])
    print("元组中的最小值:%s"%tup2[minIndex])
    

    列表元组转换

    list()
    
    1.把字符串分割成一个一个的字符 存储到新的列表中
    
    2.把元组中的每个元素 存储到新的列表中
    
    tuple()
    
    1.把字符串分割成一个一个的字符 存储到新的元组中
    
    2.把列表中的每个元素 存储到新的元组中
    

    字典 dict

    字典是以键值对的形式存储信息
    字典中必须保证键的唯一型
    字典中键重复 值覆盖
    字典也称为双列集合
    

    字典声明的语法:

    字典名={'键':'值','键':'值',...'键':'值'}
    

    字典常用的操作:

    1.添加/修改
    
        字典[键]=值  如果字典中没有该键 就是添加
    
        如果字典中已经存在了该键 就是修改(覆盖)
    
    2.删除:
    
        dict.pop(键)  根据键删除指定的键值对 如果键不存在则报出错误
    
        del dict[键] 根据键删除指定的键值对  如果键不存在则报出错误
    
        dict.popitem() 随机删除一个键值对
    
        dict.clear() 清空字典中所有的键值对
    
    3.获取:
    
        value=字典[键]  根据键获取值 如果该字典中没有该键 则报出错误
    
        value=dict.get(键) 根据键获取值 如果字典中没有该键 则返回None
    
        len(字典) 功能:获取字典中 键值对的个数
    
        str(字典) 功能:把字典转换为字符串
    
        keys() 功能:获取字典中所有的键 返回的是一个列表
    
        values() 功能:获取字典中所有的值 返回的是一个列表
    

    遍历字典第一种方式

    map4={"1":"张三","2":"李四","3":"王五","4":"赵六","5":"田七","6":"孙八"}
    for k in map4:
        #print(k)
        #v=map4[k]
        v=map4.get(k)
        print("key--->%s,--->value--->%s"%(k,v))
    

    遍历字典第二种方式:获取所有的键

    keyList=map4.keys()
    
    for k2 in keyList:
        
        v2=map4.get(k2)
        print("key--->%s,--->value--->%s"%(k2,v2))
    
    

    遍历字典第三种方式:获取所有的键值对

    kyValue=map4.items()
    for k3,v3 in kyValue:
        print("key--->%s,--->value--->%s"%(k3,v3))
    

    id方法的返回值就是对象的内存地址

    map5={"1":"张三","2":"李四","3":"王五","4":"赵六","5":"田七","6":"孙八"}
    print(map5)
    print(id(map5))
    map6=map5.copy() 
    print(map6)
    print(id(map6))
    

    相关文章

      网友评论

          本文标题:python-基础篇04:list tuple dict

          本文链接:https://www.haomeiwen.com/subject/qfoddftx.html