20210617 strat
今日目标
键值类型——字典型
要写写代码了,怕有些生疏
赶紧往下复习吧,很想看 面向对象那个部分,还有爬虫那里
新内容
字典
字典中的键值对,值除了可以是数字之外,还可以取任何数据类型,比如列表、元组,甚至是字典。
但键必须是不可变的数据类型,比如字符串、数字或元组,列表是可变的数据,不能用来当作字典的键。——以前没注意
案例——学员已经分好班,输入后,查找班级、姓名欢迎?——案例不好,但是方法可以实现
# 思路20210617 先判断班级,再在班级名单里遍历
代码
dict={1:['lize','shipengfei'],2:['xiaoyouzi','youzi','shijiayou'],3:['sjx','lcf']}
print(dict)
c=0
while True:
inp_cl=input('cl no.\n')
inp_name=input('name\n')
for i in dict.keys():
if int(inp_cl)==i: #!字符型要转换为int后再比较,否则永无相等
for j in range(0,len(dict[i])):
if inp_name==dict[i][j]:
print('welcome')
c=c+1 # 计数器作用,看是否有相等的
break
if c>=1:
break
理解:不仅字典中可以存放列表,列表中的元素也同样可以是字典。
代码1——理解列表里嵌套字典,这样也有无限可能
dict1 = {'姓名':'张三','专业':'美术','学号':'001'}
dict2 = {'姓名':'李四','专业':'计算机','学号':'002'}
dict3 = {'姓名':'王五','专业':'广告','学号':'003'}
student_info = [dict1,dict2,dict3]
#遍历列表,打印每个学生信息
for i in student_info:
print(i)
list=[1,2,3,4]
for i in list: # ——帮助回忆理解 list列表的打印输出是什么样的——其实就是一个元素一行
print(i)
结果1
{'姓名': '张三', '专业': '美术', '学号': '001'} ——每一个student_info 列表里的元素,是一个字典,所以打印出来带{}
{'姓名': '李四', '专业': '计算机', '学号': '002'}
{'姓名': '王五', '专业': '广告', '学号': '003'}
1
2
3
4
代码2——理解列表切片
dict1 = {'姓名':'张三','专业':'美术','学号':'001'}
dict2 = {'姓名':'李四','专业':'计算机','学号':'002'}
dict3 = {'姓名':'王五','专业':'广告','学号':'003'}
student_info = [dict1,dict2,dict3]
#打印列表中前两个元素
print(student_info[0:2])——因为是切片,而列表的切片仍是列表,所以最后是[]
结果2
[{'姓名': '张三', '专业': '美术', '学号': '001'}, {'姓名': '李四', '专业': '计算机', '学号': '002'}]
代码3——理解元组
dict1 = {'姓名':'张三','专业':'美术','学号':'001'}
dict2 = {'姓名':'李四','专业':'计算机','学号':'002'}
dict3 = {'姓名':'王五','专业':'广告','学号':'003'}
student_info = (dict1,dict2,dict3)
#打印列表中前两个元素
print(student_info)——因为元组不能切片,所以只能全部打印出来。&2.打印元组就是print(元组名不带括号)
元组也不能call 所以没有 print(student_info())
结果3
({'姓名': '张三', '专业': '美术', '学号': '001'}, {'姓名': '李四', '专业': '计算机', '学号': '002'}, {'姓名': '王五', '专业': '广告', '学号': '003'}) ——看输出 就是带()的元组哦
牛客网自测题
题目——反向输出
描述
将一个四位数,反向输出。
输入描述:
一行,输入一个整数n(1000 <= n <= 9999)。
输出描述:
针对每组输入,反向输出对应四位数。
思路20210617——字符串其实可以看做列表,倒序打印列表元素就好
具体代码
input_num=input()
for i in range(0,4):
print(input_num[3-i],end="")
评测
运行时间 31ms
占用内存 6780KB
思路20210617——字符串好像没有倒序函数(reversed是啥的来着?)
20210617 end
今日收获
对字典和列表的组合使用有了新认识,但是目前正好卡在 修改列表中某个字典的某个键的值上——想一想
几种数据类型,又熟悉了一些,不过键值对遍历的问题还需熟练
还没新看到什么内容
而牛客网的题目没几个会的——有点难过,要加强学习哦!