python中列表、字典、元组与集合的特点以及差异

您所在的位置:网站首页 字典的创建方法是什么 python中列表、字典、元组与集合的特点以及差异

python中列表、字典、元组与集合的特点以及差异

2024-07-02 10:09| 来源: 网络整理| 查看: 265

1.列表(List)

列表的特点

1. 数据按顺序存储 2. 列表有正序、倒序两种索引 3. 列表可存储任意类型的数据,并且允许重复。

列表的遍历:

lst = [1,2,3] for i in range(len(lst)): print(lst[i])

列表的增删改操作 在这里插入图片描述 列表的缺点: 在表达结构化数据时语义不明确(结构化数据是指有明确属性的数据) 例如:

["张三",“经理”,“2000-4-24”,39,21000] 像上述的结构无法解析2000-4-24到底是什么含义,21000也不明确 解决该缺陷的方法就是用字典存储结构化数据。 2.字典(Dictionary)

字典的特点

1.字典采用了键(key)值(value)对的方式存储数据 2.字典中键不能重复,但是值可以 3.字典无序存储,并且运行时是动态调整存储空间(hash哈希表/散列表转换得到存储地址,然后再将值存储在该地址的空间中)

字典的创建方式

1. dict1 = {‘name’:‘张三’,'age':29} 2. dict2 = dict(name=‘张三’,age=29)

字典的更新操作(字典的新增操作与更新的操作完全相同,秉承有则更新、无则新增的原则)

#只能更新一个值 dict2['name']='王四' dict2['age']=40 #更新多个值 dict2.update(name='王四',age=40)

字典的遍历

1. for key in dict2: value = dict2[key] 2. for key,value in dict2.items(): print(key,value)

字典的删除:

1.pop 删除指定的key和value dict2.pop('name') 2.popitem 删除最后一个key dict2.popitem()

字典的常用操作:

#字典常用操作 dict1 = {'name':'lzq','age':24,'birthdate':'1996-11-20'} #1.设置默认 dict1.setdefault('job','Stu') print(dict1) #2.字典的视图,会随着字典的变化而变化 key = dict1.keys() value = dict1.values() item = dict1.items() print(key) print(value) print(item) dict1['school']='szu' print(key) print(value) print(item) #3.字典的格式化输出 #第一种写法 dict_str = "%(name)s,%(age)s,%(birthdate)s"% dict1 print(dict_str) #第二种写法(一般用这种比较多和规范) dict_str2 = "{name},{age},{birthdate}".format_map(dict1) print(dict_str2)

字典的存储原理:

键(key)--》得到hash()值--》存储地址(哈希值)--值(value) name 张三 248392 248392 张三 3.元组(Tuple)

元组的特点:

1.使用小括号 2.在创建后不允许修改 3.使用索引读取元组中的值

元组的读取操作(与列表一致,使用索引) 元组无法进行写操作,因此不支持append、extend、insert等操作

tup = (a,b,c,1,2,3) tup[1:3] tup[-1] #元组运算符 t = (1,2,3)+(4,5,6) #创建了新的元组t 它的值是(1,2,3,4,5,6) t = ("see,")*5 #创建了新的元组t,它的值为("see","see","see","see","see") #注意,括号中加了逗号才会被认为是元组 4.集合(Set)

集合的特点

1.可以把集合看作是没有Value的字典,也就是集合的值不可变且不可重复 2.集合是分散存储,跟字典一样hash分布地址 3.允许数学运算

集合的创建

1.使用{}符号创建集合 2.使用set()函数创建

对集合求交集、并集、差集

set1 = {'a','b','c'} set2 = {'a'} #求set1和set2的交集 set1.intersection(set2) #求set1和set2的并集 set1.union(set2) #求set1中有但是set2无的差集 set1.difference(set2) 5.差异性 特点列表字典元组集合符号中括号[]大括号{}小括号()大括号{}数据存储连续、静态不连续、动态连续、静态不连续、动态元素是否有序有无有无数值是否可改变TrueTrueFalseFalse读取方式索引键索引只能遍历值是否可以重复是键不能重复,值可以可以不可以应用场景非结构化数据存储结构化数据存储稳定不变的数据存储???


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3