每日python,第十三篇,字典实战

121 阅读2分钟

「这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战」。

这里是清安,看过前面两篇你就知道了,字典里面啥都可以放,你也可以吧字典放到其他的里面去,所以呀,字典很实用滴。本章我们来学习学习字典中嵌入字典。你知道该如何取值了嘛???

上一章我么讲到了一个便利所有值,遍历出来了,但是 有重复值怎么办,这里就有一个办法了。 去重

    那么我们要去重又要输出值怎么办呢?我们可以用set方法

language = {
    'tom': 'python',
    'tim': 'java',
    'zhangsan': 'c',
    'lisi': 'php',
    'wangwu': 'php',
}
for value in set(language.values()):
    print(value)

字典存储字典

number = {
    '张三': {
        'first_name': '张',
        'last_name': '三',
        'height': 180,
        'age':22,
    },
    '李四': {
        'first_name': '李',
        'last_name': '四',
        'height': 170,
        'age':20,
    },
}
for usename, usenames in number.items():
    print(f"{usenames['first_name']}{usenames['last_name']}{usenames['height']}{usename['age']}")
 
#第二种写法
number = {
    '张三': {
        'first_name': '张',
        'last_name': '三',
        'height': 180,
        'age':20,
    },
    '李四': {
        'first_name': '李',
        'last_name': '四',
        'height': 170,
        'age':22,
    },
}
for usename, usenames in number.items():
    full_name = f"{usenames['first_name']}{usenames['last_name']}"
    location = usenames['height']
    ages = usenames['age']
    print(f"{full_name}、身高:{location}、年龄{ages}")

这两种写法最后的结果都是一样的,写法上稍微有一点点不同,可能第一种小伙伴更容易理解。

第二种只是额外给了一个变量而已,而第一种方法直接调用了定义的变量指定内部字典纸进行输出。很多小伙伴肯定会问,外部字典键为什么不输出,要想输出,直接将usename加载print里面就好了,这里只是便于观看而已。所以,这里就自行选择吧,没有固定的要求。

实战五

name_user = {}
# i = True
while True:  # while i
    # 提示输入名称
    name = input("请输入课程:")
    teacher = input("请输入老师名称:")
    # 写入字典
    name_user[name] = teacher
    last = input("还有吗?y/n\t")
    #进行输入判断,如果为no则结束循环
    if last == 'no':
        break
        # i = False
# 用循环输出键与值
for names, value in name_user.items():
    print(f"我得课程是{name},我的老师是{teacher}")

这里可以自动填入键值对,所以还是值得大家好好看看的。这里是清安,不懂的可以加我或私聊。实战部分一定要自己多多码一码,如果只是单纯的看一看,那与没有学习没啥区别。所以,加油吧!