第六讲-Python的基础数据类型3

在这里插入图片描述

元组

元组介绍

  • Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
  • 元组中只包含一个元素时,需要在元素后面添加逗号
  • 元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

元组的创建

  • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
tup1 = (1, 2, 3, 4)
tup2 = ('你好', '2021', 3)
tup3 = "a", "b", "c"
  • 创建空元组
tup4 = ()
  • 只有一个元素的元组,需要在元素后增加逗号消除歧义
tup5 = (123,)

元组与列表的异同

  1. 相同点
  • 列表和元组都属于有序序列;
  • 都支持使用双向索引访问其中的元素;
  • 以及使用count()方法统计指定元素的出现次数和index()方法获取指定元素的索引,len()、map()、filter()等大量内置函数和+、in等运算符也都可以作用于列表和元组。
  1. 不同点
  • 元组属于不可变序列,不可以直接修改元组中元素的值,也无法为元组增加或删除元素。
  • 元组没有提供append()、extend()和insert()等方法,无法向元组中添加元素;同样,元组也没有remove()和pop()方法,也不支持对元组元素进行del操作,不能从元组中删除元素,而只能使用del命令删除整个元组。
  • 元组也支持切片操作,但是只能通过切片来访问元组中的元素,而不允许使用切片来修改元组中元素的值,也不支持使用切片操作来为元组增加或删除元素。
  • 元组缓存于Python运行时环境,每次使用元组时无须访问内核去分配内存。
  • Python的内部实现对元组做了大量优化,访问速度比列表更快。如果定义了一系列常量值,主要用途仅是对它们进行遍历或其他类似用途,而不需要对其元素进行任何修改,那么一般建议使用元组而不用列表。
  • 元组在内部实现上不允许修改其元素值,从而使得代码更加安全,例如调用函数时使用元组传递参数可以防止在函数中修改元组,而使用列表则很难保证这一点。
  • 元组可用作字典的键,也可以作为集合的元素。而列表则永远都不能当作字典键使用,也不能作为集合中的元素。

元组中不允许的操作

  • 不允许修改元组中的元素
  • 不允许增加元组中的元素
  • 不允许删除元组中单个的元素,但是运行删除整个元组。

元组与列表的相互转换

li1 = [1, 2, 3, 4]
tup1 = tuple(li1)
print(tup1)
print(list(tup1))

字典

字典的介绍

基本形式

  1. 键值对内部用冒号(key:value)
  2. 两个键值对之间用逗号(,)分割
  3. 整个字典用大括号({})包裹
dict = {key1 : value1, key2 : value2}

键值要求

  1. 键可以取任何数据类型,但是必须唯一且不可变,比如数字、字符串、元组
  2. 值不用保持唯一,可以是任何的python对象(标准的对象 or 用户自定义的对象)

访问字典已有的值

  1. 把键值放到[]中
print(dict[key1])

增加元素

dict[key3] = value3
 dict[key4] = value4

删除元素

  1. 删除单一元素
del dict[key1]  #删除键值对key1:value1
  1. 清空字典
dict.clear()
  1. 删除字典
del dict    # 删除后字典dict就没了

字典常见操作

序号函数名描述
1dict.get(k[,d])返回指定键的值,如果值不在字典中,则返回default值
2dict.items()以列表返回可遍历的(键, 值) 元组对
3dict.keys()以列表返回字典所有的键
4dict.values()以列表返回字典所有的值

作业1

lis1 = ['name', 'author', 'introduce']
lis2 = ['NORWEGIAN WOOD', 'Haruki Murakami', 'balalalalal...']
dic1 = dict(map(lambda x, y : [x, y], lis1, lis2))
print(dic1)
dic2 = dict(zip(lis1, lis2))
print(dic2)

在这里插入图片描述

作业2

Amy_info = {'name': 'amy','addr': 'hunan','weight': 90}
print(Amy_info.keys())
print(Amy_info.values())
for key, value in Amy_info.items():
   print(key, value)

在这里插入图片描述

作业4

b = b'PoPoPolarBear'

print(str(b,encoding = "utf-8"))

print(bytes.decode(b))

s = 'PoPoPolarBear'

print(bytes(s, encoding = "utf8"))

print(str.encode(s))

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值