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()

 
原文地址:https://www.cnblogs.com/fengyiru6369/p/14484891.html