学习目标:了解数据容器是什么









基础定义讲解,不用看第二遍,但需要记住,课程没有太多需要理解的内容。






取出元素的时候不要超出元素下表的范围


在实践的过程中,还是会有点问题。
一开始我在【】两端加了单引号,导致嵌套不成功。




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)


- 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)

















- """
- 元组的基本操作
- 定义一个元组,内容是: () ,记录的是一个学生的信息(姓名,年龄,爱好)
- 请通过元组的功能(方法),对其进行。
- 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是可以修改的。
学习目标:以数据容器的视角来学习字符串,并掌握常见操作。



字符串,没法修改。为只读的。


示例演示。

分割,




遍历——while和for,跟之前列表和元组一样的





split后面,使用、\ | 空格,等,分割后的效果一样,咋解释?



注:此操作不影响序列本身,而是会得到一个新序列。




- """
- 演示序列的切片的课后练习
- "万过薪月,员序程马黑来,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}")
标点符号应该不算是字符串的,英语单词中,一个字母一个字符串元素。




集合不是序列





- 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)





练习题

- 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() 不用新的变量接收。


与集合不同的地方,可以通过key,来查value。



基于key,找value。

嵌套,定义。

从定义的嵌套字典中,获取信息。


从定义的嵌套字典中,获取信息。


增加和更新的操作是一样的,只不过是,key是不是新的,原来有的话,就是更新,原来没有key的话,就是新增。






练习案例


- 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循环好,哈哈。





练习,演示

- 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))
知道有这些功能就行。


进行重新排序,排序后,都变成列表对象。

进行降序排序。



