• python之列表、元组、字典、数组对比


    一、区别对比

      列表[] 元组() 字典{} 数组
    概念

    一组有序项目的集合。可变的数据类型【可进行增删改查】

    列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔。

    列表中可以包含任何数据类型,也可包含另一个列表

    列表可通过序号访问其中成员

    不可变序列

    元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔

    与列表不同:元组中数据一旦确立就不能改变

    通过下标进行访问声明:

    L=(1,2,3)

    含0个元素的元组: L = ()

    含1个元素的元组:L=(1,) 注意有逗号

    字典是另一种可变容器模型,且可存储任意类型对象。

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    d = {key1 : value1key2 : value2 }

    键必须是唯一的,但值则不必。

    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。numpy中封装的array有很强大的功能,里面存放的都是相同的数据类型

    1)numpy array 必须有相同数据类型属性 ,Python list可以是多种数据类型的混合
    2)numpy array有一些方便的函数
    3)numpy array数组可以是多维的
    示例
    n=[1,2,3,4,5,6]
    m=[7,8,9,10]
    n.extend(m)
    print n
    out:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 7, 8, 9, 10]
    o =('a','b','c',('d1','d2')) 
    print o[0]
    print o[3][0] 
    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
    dict['Name']
    dict['Age']
    二维numpy数组
    b=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
    增加     

    append() 追加

    insert(index,元素) 插入

    extend(iterable) 迭代着追加

    dic = {'name': '太白', 'age': 18, 'sex': '男', 'job': 'IT'}
    第 一种   有此key 就改 (改后面的值) ,无此key 就添加(key 和值都添加)添加无序
    dic['sex'] = '男'
    dic['name'] = 'alex'

    第二种 setdefault 有此key择不做任何操作但是给我返回对应的值,无此key添加
     比如: dic.setdefault('name') 返回 太白
         dic.setdefault('name':'太白') 返回的也是太白
    如果没有此key 就key 和值都添加 到末尾
     
     删除      
               pop 按照索引 有返回值
                remove 按照元素删除
                clear 清空
                del
                    del l1[1] 按照索引删除
                    del l1[1:3] 按照切片
                    del l1[1:6:2] 切片+步长
     
     改      
            改:
                l1[1] = 'alex'
                l1[1:3] = 'abced'
                l1[1:6:2] = 'abc'
     
     查      

    索引,切片,切片+步长:for 循环
    len()count()sort()sort(reverse=True) everse()

    print(dic['name']) 以键来查,不是索引
    get
    print(dic.get())也是以键来查,查不到也不会报错 会返回一个None
    # print(dic.get('name1'))
    # print(dic.get('name1','没有此键。。。。'))
              但是你也可以设置一个值,然后就返回这个值
    dic.key()
    print(dic.keys()),type(dic.keys) 类似于列表的容器
    就是把key这个键拿出来 等于做出一个列表了,可以随便使用了
    而且这个数据类型是 dict_keys
    dic.valuse() 这三个都是他们本身 那个数据类型
    同等 把值拿出来 了 还可以转换成 list
    dic.items()

     
  • 相关阅读:
    Hive初识(一)
    图解HTTP总结(8)——确认访问用户身份的认证
    Android 7.0 照相 FileUriExposedException
    activity跳转的一些坑
    gopath配置
    android项目中记录
    一些趣味性总结(JAVA)
    http的response遇到illegalstateexception解决办法
    django demo
    Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决方法
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/14484891.html
Copyright © 2020-2023  润新知