序列
序列是内容连续、有序,可以使用下标索引的一类数据容器。
列表、元组、字符串均可以视作序列。
序列的切片操作
对于序列,我们常常用到切片操作,目的是在序列中通过下标获取子序列。
序列[起始下标:结束下标:步长]
起始下标:留空则表示从头取
结束下标:切片操作时不含此下标元素,留空则表示取到结尾
例如:
有字符串:"万过薪月,员序程马黑来,nohtyP学" 请使用学过的任何方式,得到“黑马程序员”
代码:
str = "万过薪月,员序程马黑来,nohtyP学"
new_str = str[9:4:-1]
print(new_str)
运行结果:
集合(set)
定义空集合:my_set = set()
特点:
1.可容纳多个数据
2.可容纳不同类型的数据
3.无序存储,不支持下标索引
4.不允许重复数据存在
5.可以修改
6.支持for循环
常用方法
以集合set1为例
1.
set1.add(元素)
在集合内添加一个元素
2.
set1.remove(元素)
移除集合内的指定元素
3.
set1.pop()
从集合内随机取出一个元素
4.
set1.clear()
清空集合
5.
set1.difference(set2)
得到一个新的集合,其中为set1与set2的差集,原集合均不变
6.
set1.difference_update(set2)
在set1内删除set2中的元素,set1被修改,set2不变
7.
set1.union(set2)
得到一个新的集合,其中包含set1和set2内的全部元素,原集合均不变
8.
len(set1)
计算集合内元素个数
例题
1.
有如下列表对象: my_list=['黑马程序员','传智播客','黑马程序员','传智播客','itheima','itcast','itheima','itcast','best'] 请: 定义一个空集合 通过for循环遍历列表 在for循环中将列表的元素添加至集合 最终得到元素去重后的集合对象,并打印输出
代码:
my_list = ["黑马程序员","传智播客","黑马程序员","传智播客","itheima","itcast","itheima","itcast","best"]
new_set = set()
for i in my_list:
new_set.add(i)
print(f"已知有列表{my_list}")
print(f"去重后得到的集合为{new_set}")
运行结果:
字典(dict)
字典是由键值对构成的
形式为:my_dict = {key1:value1,key2:value2......keyn:valuen}
特点:
1.可以容纳多个数据
2.可容纳不同数据类型的数据
3.每一份数据都是Key:Value键值对
4.可以通过Key获取到对应的Value,但Key不能重复(会覆盖Value值)
5.不支持下标索引
6.可以修改
7.支持for循环
常用操作
以dict1为例
1.
dict1[Key]
获取Key对应的Value
2.
dict1[Key] = Value
添加或更新键值对
3.
dict1.pop(Key)
取出Key对应的Value并删除键值对
4.
dict1.clear()
清空字典
5.
dict1.keys()
获取全部Key
6.
len(dict1)
计算字典内的元素数量
例题
1.
有如下员工信息,请使用字典完成数据的记录。 并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元 姓名 部门 工资 级别 王力鸿 科技部 3000 1 周杰轮 市场部 5000 2 林俊节 市场部 7000 3 张学油 科技部 4000 1 刘德滑 市场部 6000 2
代码:
emp_dict = {"王力鸿":{"部门":"科技部","工资":3000,"级别":1},
"周杰轮":{"部门":"市场部 ","工资":5000,"级别":2},
"林俊节":{"部门":"市场部 ","工资":7000,"级别":3},
"张学油":{"部门":"科技部 ","工资":4000,"级别":1},
"刘德滑":{"部门":"市场部 ","工资":6000,"级别":2},
}
print(f"全体员工当前信息如下:{emp_dict}")
for name in emp_dict:
if emp_dict[name]["级别"] == 1:
emp_dict[name]["级别"] += 1
emp_dict[name]["工资"] = emp_dict[name]["工资"] + 1000
print(f"全体员工级别为1的员工完成升职加薪操作后:{emp_dict}")
运行结果:
结论
集合与字典与我们之前学习过的数据容器不同,他们不能靠下标索引来操作,其中的元素(或key)不能重复,遍历时使用for循环。