01-数据容器入门
学习目标:了解数据容器是什么
02-列表的定义语法
基础定义讲解,不用看第二遍,但需要记住,课程没有太多需要理解的内容。
03-列表的下标索引
取出元素的时候不要超出元素下表的范围
在实践的过程中,还是会有点问题。
一开始我在【】两端加了单引号,导致嵌套不成功。
![](https://img-blog.csdnimg.cn/8a102d425a7b40069dbdffbb03559e03.png)
04-列表的常用操作方法
list内部提供了一系列可供我们使用的函数。后面会详细讲解类和方法,这里会使用就可以的。
使用index函数输出列表中元素的下标索引。
修改下标索引。
从前向后搜索,找到第一个可以移除的元素。示例如下:
列表的常见方法都是使用列表的名称加上一个点,然后引用这个方法。
05-列表的常用操作课后练习
# 1、定义一个列表,用变量接收它
my_list = ["i", 'love', 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4]
# 2、追加数字到列表尾部。
my_list.append(31)
print(my_list)
# 3、追加新列表到列表尾部。
my_list.append([166, 666, 888])
print(my_list)
# 4、取出第一个元素
num = my_list[0]
print(f"从列表中取出来第1个元素,应该是i,实际上是{num}")
# 5、取出最后一个元素。
num1 = my_list[-1]
print(f"从列表中取出来第最后的元素是{num1}")
# 6、查找元素9,在列表中的下标位置。
print(my_list.index(9))
# 最后的列表内容
print(my_list)
06-列表的循环遍历
def list_while_func():
my_list = ["教育", "黑马程序", "python"]
index = 0
while index < len(my_list):
i = my_list[index]
print(i)
index += 1
list_while_func()
不论是定义的函数,还是引用的函数,都需要间隔两行。不然会有虚黄线报错,格式有问题。
for循环会用的比较多一些。
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
my_new = []
for element in my_list:
if element % 2 == 0:
my_new.append(element)
print(my_new)
07-元组的定义和操作
"""
元组的基本操作
定义一个元组,内容是: () ,记录的是一个学生的信息(姓名,年龄,爱好)
请通过元组的功能(方法),对其进行。
1、查询其年龄所在的下标位置
2、查询学生的姓名
3、删除学生爱好中的football
4、增加爱好: coding到爱好list
"""
# 定义一个元组,内容是: ('周杰伦', 11, ['football', 'music']) ,记录的是一个学生的信息(姓名,年龄,爱好)
tuple1 = ('周杰伦', 11, ['football', 'music'])
# 1、查询其年龄所在的下标位置
age = tuple1.index(11)
print(age)
# 2、查询学生的姓名
name = tuple1[0]
print(name)
# 3、删除学生爱好中的football
del tuple1[2][0]
print(tuple1)
tuple1[2].pop(0) # 这两个效果一样
print(tuple1)
# 4、增加爱好: coding到爱好list
tuple1[2].insert(1, "coding") # 先写出前边的【2】,然后才能定位到list
print(tuple1)
元组内嵌套的list是可以修改的。
08-字符串的定义和操作
学习目标:以数据容器的视角来学习字符串,并掌握常见操作。
字符串,没法修改。为只读的。
示例演示。
分割,
遍历——while和for,跟之前列表和元组一样的
![](https://img-blog.csdnimg.cn/35a9e83d6c594e968f0269aeaf814746.png)
09-字特串的课后练习讲解
split后面,使用、\ | 空格,等,分割后的效果一样,咋解释?
10-数据容器(序列) 的切片
注:此操作不影响序列本身,而是会得到一个新序列。
11-序列的切片课后练习讲解
"""
演示序列的切片的课后练习
"万过薪月,员序程马黑来,nohtyp学"
"""
my_str = "万过薪月,员序程马黑来,nohtyp学"
# 倒序字符串,切片取出。
result1 = my_str[::-1][9:14]
print(f"方式1的结果是:{result1}")
# 切片取出,然后倒序
result2 = my_str[5:10][::-1]
print(f"方式2的结果是:{result2}")
# split分割,”,“ replace 替换”来“为空,倒序字符串。
result3 = my_str.split(",")[1].replace("来", "")[::-1]
# split后面括号中的内容,我当时用的英文下的逗号,会报错,主要是没有和字符串中定义的一样。。
print(f"方式3的结果是:{result3}")
标点符号应该不算是字符串的,英语单词中,一个字母一个字符串元素。
12-集合的定义和操作
集合不是序列
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.difference(set2) # set1中有但是set2中没有的。
print(set3)
print(set2)
print(set1)
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.union(set2) #
print(set1)
print(set2)
print(set3)
练习题
13-集合的课后练习
my_list = ['黑马程序', '传智播客', ' 您好呀', '黑马程序', 'best', 'best']
my_list_new = set()
for x in my_list:
my_list_new.add(x)
print(my_list_new)
my_list_new .add() 不用新的变量接收。
14 -字典的定义
与集合不同的地方,可以通过key,来查value。
基于key,找value。
嵌套,定义。
从定义的嵌套字典中,获取信息。
15-字典的常用操作
从定义的嵌套字典中,获取信息。
增加和更新的操作是一样的,只不过是,key是不是新的,原来有的话,就是更新,原来没有key的话,就是新增。
练习案例
16-字典课后练习讲解
all_staff = {
'王力鸿': {
'部门': '科技部',
'工资': 4000,
'级别': 1},
"周杰轮": {
'部门': '科技部',
'工资': 3000,
'级别': 2},
"林俊节": {
'部门': '科技部',
'工资': 6000,
'级别': 3},
"张学油": {
'部门': '科技部',
'工资': 5000,
'级别': 4},
"刘德滑": {
'部门': '科技部',
'工资': 7000,
'级别': 5}
}
for name in all_staff:
if all_staff[name]["级别"] == 1:
all_staff[name]["级别"] = 2
all_staff[name]["工资"] += 1000
print(all_staff)
觉得课程中没有我写的for循环好,哈哈。
17-5类数据容器的总结对比
18-数据容器的通用操作
练习,演示
my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = "abcdefg"
my_set = {1, 2, 3, 4, 5, 6}
my_dict = {"key1": 1, "key2": 2, "key3": 3, "key4": 4, "key5": 5}
# len() 元素个数
print(len(my_dict))
print(len(my_list))
print(len(my_str))
print(len(my_set))
print(len(my_tuple))
# max 最大元素
print(max(my_dict))
print(max(my_list))
print(max(my_str))
print(max(my_set))
print(max(my_tuple))
# max 最小元素
print(min(my_dict))
print(min(my_list))
print(min(my_str))
print(min(my_set))
print(min(my_tuple))
print(tuple(my_list))
print(tuple(my_set))
print(tuple(my_str))
print(tuple(my_dict))
print(tuple(my_tuple))
print(str(my_list))
print(str(my_set))
print(str(my_str))
print(str(my_dict))
print(str(my_tuple))
知道有这些功能就行。
进行重新排序,排序后,都变成列表对象。
进行降序排序。
![](https://img-blog.csdnimg.cn/direct/0f132bcf07e44360a56807a2423ac813.png)
19-拓展-字符串大小比较的方式