一、列表(List)
1. 列表的特点
- 数据按顺序存储
- 列表有正序、倒序两种索引
- 列表可存储任意类型的数据,并且允许重复。
2. 列表的遍历:
lst=[1,2,3]
for i in range(len(lst)):
print(lst[i],end=" ")
3. 列表的缺点:
在表达结构化数据时语义不明确(结构化数据是指有明确属性的数据)
例如:
["张三",“经理”,“2000-4-24”,39,21000]
像上述的结构无法解析2000-4-24到底是什么含义,21000也不明确
解决该缺陷的方法就是用字典存储结构化数据。
二、字典(Dictionary)
1. 字典的特点
-
字典采用了键(key)值(value)对的方式存储数据
-
字典中键不能重复,但是值可以
-
字典无序存储,并且运行时是动态调整存储空间(hash哈希表/散列表转换得到存储地址,然后再将值存储在该地址的空间中)
2. 字典的创建方式
-
dict1 = {‘name’:‘张三’,'age':29}
-
dict2 = dict(name=‘张三’,age=29)
3. 字典的更新操作(字典的新增操作与更新的操作完全相同,秉承有则更新、无则新增的原则)
#只能更新一个值
dict2['name']='王四'
dict2['age']=40
#更新多个值
dict2.update(name='王四',age=40)
4. 字典的遍历
for key in dict2:
value = dict2[key]
for key,value in dict2.items():
print(key,value)
5. 字典的删除:
1.pop 删除指定的key和value
dict2.pop('name')
2.popitem 删除最后一个key
dict2.popitem()
6. 字典的常用操作:
#字典常用操作
dict1 = {'name':'lzq','age':24,'birthday':'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,%(birthday)s"% dict1
print(dict_str)
#第二种写法(一般用这种比较多和规范)
dict_str2 = "{name},{age},{birthdate}".format_map(dict1)
print(dict_str2)
三、元组(Tuple)
1. 元组的特点:
-
使用小括号
-
在创建后不允许修改
-
使用索引读取元组中的值
2. 元组的读取操作(与列表一致,使用索引)
元组无法进行写操作,因此不支持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")
#注意,括号中加了逗号才会被认为是元组
四、集合(Set)
-
使用{}符号创建集合
-
使用set()函数创建
set1 = {'a','b','c'}
set2 = {'a'}
#求set1和set2的交集
set1.intersection(set2)
#求set1和set2的并集
set1.union(set2)
#求set1中有但是set2无的差集
set1.difference(set2)