第六章——Python数据容器

01-数据容器入门

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

02-列表的定义语法

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

03-列表的下标索引

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

在实践的过程中,还是会有点问题。

一开始我在【】两端加了单引号,导致嵌套不成功。


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,跟之前列表和元组一样的


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

知道有这些功能就行。

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

进行降序排序。


19-拓展-字符串大小比较的方式

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值