欢迎光临
我们一直在努力

Python 练习题讲解 5 · 元组、集合、字典

一、选择题

1. 字典(Dict)键值对中的 “键” 必须是不可变(可哈希)对象,即内容固定、不可增删改,如:整数、浮点数、字符串、元组等

2. 字典(Dict)的创建方式:

        (1) 变量名 = {}

        (2) 变量名 = {键1:值1, 键2:值2, ……}

        (3) 变量名 = dict(键1 = 值1, 键2 = 值2, ……)

        (4) 变量名 = dict([(键1, 值1), (键2, 值2), ……])

        (5) 变量名 = dict(zip(存储键的可迭代对象, 存储值的可迭代对象))

        (6) 变量名 = dict.fromkeys(存储键的可迭代对象),每个 "键" 的默认 "值" 为 None

        (7) 变量名 = dict.fromkeys(存储键的可迭代对象, 初始对象),每个 "键" 的 "值" 为初始对象,注意:这里每个 “键” 对应的 “值” 的内存地址都是一致的,如果修改一个键的值,其他键的值也会跟着改变

        (8) 变量名 = {代表键的变量:与变量相关的函数 与变量相关的循环}

3. 字典(Dict)是可变数据类型,但 “键” 不可以重复(不能重名,因为 “键” 是用于查询时定位的,与身份证号类似)

4. 集合(Set)是不可变、不可重复对象,与数学概念中的集合性质一致,两个存放着不同元素的集合不相等(即。不是同一个集合),集合中的元素也不可以重复出现

5. set() 函数:创建集合,或将括号包裹的对象强制转换为集合,如果被强制转换的可迭代对象中有重复的元素,强制转换为集合后,重复的元素只会出现一次

6. {} 只能创建空字典,不能创建空集合

7. 集合生成式:变量名 = {代表集合中元素的变量的表达式 与变量相关的循环}

8. 以下代码的运行结果为?

s1 ="袋鼠"
print("{0}生活在主要由母{0}和小{0}组成的较小的群体里。".format(s1))

        运行结果:袋鼠生活在主要由母袋鼠和小袋鼠组成的较小的群体里。

9. 元组(Tuple)是不可变的数据类型,即不能增、删、改,如果想基于一个元组做操作,操作完成后是生成了另一个元组,而不是对元组本身做了修改

10. 元组(Tuple)内的元素可以是任意数据类型

二、编程题

1. 卡号打印

        (1) 第一步生成20个卡号;卡号以6102009开头, 后面3位依次是 (001, 002, 003,…,020);

        (2) 第二步生成关于银行卡号的字典,默认每个卡号的初始密码为"moai";

        (3) 最后输出卡号和密码信息

# 生成20个卡号
## 初始卡号格式
C_0 = ["6102009",0,0,0]
## 生成20个卡号
C = []
for i in range(20):
i += 1
if i < 10:
C_0[-1] = i
elif 10 <= i < 100:
C_0[-1] = (i % 10)
C_0[-2] = (i // 10)
elif 100 <= i < 1000:
C_0[-1] = (i % 10)
C_0[-2] = ((i // 10) % 10)
C_0[-3] = (i // 100)
C.append(f"{C_0[0]}{C_0[1]}{C_0[2]}{C_0[3]}")

# 生成关于卡号的字典,并初始化每张卡的密码
CDict = {}
for j in C:
CDict[j] = "moai"

# 打印卡号和密码信息
print("卡号\\t\\t\\t\\t密码")
for keys,values in CDict.items():
print(f"{keys}\\t\\t\\t{values}")

        运行结果:


欢迎大家投稿题目或批评指正,可咨询、讲解

赞(0)
未经允许不得转载:171主机测评 » Python 练习题讲解 5 · 元组、集合、字典
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址