字典,元组,列表,集合的区别
列表 和字典的一点区别
列表:随着插入的增加,访问速度变慢;占用内存少
字典:插入数据增加,访问速度不变;但占用内存多(消耗内存换时间)
列表,字符串,元组:可通过切片访问,因为都有下标
集合,字典:没有下标,无法通过下标访问
------------------------元组(tuple)和列表(list)的不同----------------------------------
列表(list)和元组(tuple)的不同
列表 元组
元素 方括号 圆括号
可变性 可变 不可变
操作 增删改查 搜索
为什么要有元组:1、安全(数据不可改)2、查找速度快(因为不能修改,所以不必检索)
1、列表可以随意插入删除元素,而元组不能随意插入或删除元素,也不能排序。
2、创建列表用中括号[],元组是用小括号()和逗号,。list1=[1,2] tuple= (2,3)
l=[] ##创建列表只要有中括号就能创建。
t=(1) ##这里t是整型类型
t=(1,) ##逗号和小括号配合,此时t是元组类型
t= 1,3,4,5 ##用逗号隔开,此时t也是元组类型
3*(2) 结果为:6
3*(2,) 结果为:2,2,2
--------------------------------------集合和列表--------------------------------------------
列表可以存储相同的数据,而集合会将相同的数据合并。
例:
>>> num=[1, 2, 3, 3, 5, 6]
>>> type(num)
<class 'list'>
>>> set(num) ##set排序是无序的。
{1, 2, 3, 5, 6}
--------------------------------下标访问(一些通用操作符)---------------------------------------
能通过下标访问的叫序列类包括:字符串,列表,元组
列表:l=[1,3,4] l[0]为:1
元组:t=(1,2,3) t[0]为:1
字符串:str1='sfsfs' str1[0]为:s
无法通过下标访问的叫映射类:包括字典:
字典:dic={'a': 1, 'b': 2} dic['a']为
集合
对于序列来说,存放的的值可以有重复的,而映射类中无法存放相同的数值。
所以序列类有些操作是映射类没有的。
1、连接操作符:+ 把一个序列和另一个相同的序列做链接
a='aa' b='bb' >>>a+b 得到:aabb
2、重复操作符:* 当序列需要拷贝多份时
a='a' >>a*3 >>aaa 拷贝3份
3、切片操作 [] [:] [::]
a='python' >>>a[0] 得到:p 顺序数下标从0开始
>>>a[:] 得到所有:python
>>>a[0:2]得到3个数:pyt
>>>a[-2] 得到第二个数:o 倒数的话下标从1开始t
>>>a[-4:-2] 得到:th 从-4位到-2位,从右往左数
>>>a[-2:-4] 得到空,从-2到-4为,不能从左往右数
>>>a[-2:-4:-1]得到:ho,从-2到-4位,定义了-1可从左往右数
>>>a[::-1] 得到:nohtyP 逆序
a ='10001000100010001'
>>>a[0:17:4] 返回:11111,第0位算在内,开始跨4步。
>>>a[::4] 返回:1111 头尾不写代表默认最小,最大
>>>a[::-4]返回:1111 负号反向每隔4位数输出
4、成员操作符:in ,not in
a='python'
>>>'PP' in a >>>False
>>>'p' in a >>>True
------------------------------------序列常用的函数--------------------------------
1、len()
2、max() and min() 获取最大和最小值
a=(1,2,3)
>>>max(a) >>3
>>>min(a) >>1
3、str(),repr()
str是将数值转化为字符串;
repr是将对象(包括)转化为字符串,包括:数值,字符串,元组,列表,集合,字典。
-----------------------------------------------------------------------------------
字典,集合,列表,元组
1、长相:
字典:
dic = {'a':1,'b':2}
a=dict(one=1,two=2)
b=dict([('a',1),('b',2),('c',3)])
c=dict({'a':1,'b':2,'c':3})
集合:
b=set([('a',1),('b',2),('c',3)])
c=set({'a':1,'b':2,'c':3})
d={1,2.0,3,4}
列表:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
元组:
t=(1,3)
t='a','b
2、增删改
增 删 改
dict NULL pop update(将2个个字典合并为一个字典,key重复合并values)
clear
popitem
list append pop NULLL
extend clear
insert remove
set add pop update (update用来求2或多个集合的并集)
clear
remove
字典:
1、删除pop(),括号中是要删除的值。
2、删除popitem(),随机删除一个值。
3、clear()清除字典
集合:
1、增加集合add()
2、删除集合remove()
列表:
append函数:给数组尾部追加一个数值
extend函数:给数值尾部追加一个或多个数值,要用中括号(列表)括起来。
insert函数:在数组的某个位置插入一个数值
del 列表名[下标]
列表名.remove(删除的值)
列表明.pop()有参数下标删除删除的值,没参数删除最后一个。