每日python,第十二篇,字典下

185 阅读4分钟

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

这里是清安,本章我们来学习重要的一篇,字典,本章也是后续我们所必须用到的,十分实用的方法之一。

for循环

    我们接下来结合前面两章所学,运用到字典上来,看例子:

language = {
    'tom' : 'python',
    'tim' : 'java',
    'zhangsan' : 'c',
    'lisi' : 'php',
    'wangwu' : 'html',
}
for key,values in language.items():
    print(f"KEY:{key}   VALUES:{values}")
 
# KEY:tom   VALUES:python
# KEY:tim   VALUES:java
# KEY:zhangsan   VALUES:c
# KEY:lisi   VALUES:php
# KEY:wangwu   VALUES:html

这里我们用到了for循环,这里的意思是循环打印出language的键与值,我们自己定义的key和values一个代表键一个代表值,这两个小伙伴们想怎么定义就这么定义,但是定义变量的注意事项要记得哦,key是键,values是值,程序上的.items(),这是 一个方法,它会返回一个键值对列表,如果不加就会报错哦。 遍历key值

language = {
    'tom' : 'python',
    'tim' : 'java',
    'zhangsan' : 'c',
    'lisi' : 'php',
    'wangwu' : 'html',
}
for key in language.keys():
    print(f"KEY:{key}")

遍历key值为什么用的是keys?key值是一种说法,字典是键与值一起的组合,所以这里取名为key值。keys是方法,用来取值的。

实战2

language = {
    'tom': 'python',
    'tim': 'java',
    'zhangsan': 'c',
    'lisi': 'php',
    'wangwu': 'html',
}
friend = ['lisi', 'liehuang', 'wangwu']
# 用变量循环language字典中的键
for key in language.keys():
    print(key.title())
    # 判断key是否再friend列表中
    if key in friend:
        # 定义一个变量来接收存在的键
        friends = language[key].title()
        print(f"{key.title()}, I love {friends}")

遍历所有的值

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

注意了,这里输出的结果是有重复的哦。怎么样去重呢?看下面

列表字典

dictt = {'color': 'red', 'year': 1}
dictt1 = {'color': 'yellow', 'year': 2}
dictt2 = {'color': 'blue', 'year': 3}
all_dictt = [dictt, dictt1, dictt2]
print(all_dictt)
for all_dictts in all_dictt:
    print(all_dictts)
 
# [{'color': 'red', 'year': 1}, {'color': 'yellow', 'year': 2}, {'color': 'blue', 'year': 3}]
# {'color': 'red', 'year': 1}
# {'color': 'yellow', 'year': 2}
# {'color': 'blue', 'year': 3}

我们创建三个字典,再将字典放进一个列表中,再进行循环打印,并输出,也许小伙伴会觉得复杂,此处我们还是得学习的,后面的selenium以及appium亦或者接口自动化需要用到读取表格哦传输值哦。

实战三

我们将上述dictt字典放入一个空的列表,并让这个字典连续打印十次

lists = []
# 循环十次
for list_2 in range(1, 11):
    dictt = {'color': 'red', 'year': 1}
    # 将字典添加到列表中
    lists.append(dictt)
# 定义一个变量循环遍历列表
for list_3 in lists:
    print(list_3)
print(f"一共创建了:{list_2}个字典")

结果行数太多了就不写出来了,可以自己试试效果如何。

也可以对其进行一定的修改,比如修改前三个的颜色:

lists = []
# 循环十次
for list_2 in range(1, 11):
    dictt = {'color': 'red', 'year': 1}
    # 将字典添加到列表中
    lists.append(dictt)
# 使用一个新的循环去循环列表的前三个字典
for lists_1 in lists[:3]:
    # 如果color等于red,则将color进行更改,year也可以进行更改
    if lists_1['color'] == 'red':
        lists_1['color'] = 'green'
        lists_1['year'] = 2
# 定义一个变量循环遍历列表,显示前四个
for list_3 in lists[:4]:
    print(list_3)
print(f"一共创建了:{list_2}个字典")

如果你觉得为什么判定red不判定year就可以更改,因为他们再同一个字典中,不放心的小伙伴可以用if对year多进行一次判断哦。

字典中可以储存列表,看下面的操作你就明白了:

pak = {
    'dog': 'yellow',
    'birds': ['red', 'blue'],
}
print(f"动物园里有:{pak['dog']}颜色的狗")
for paks in pak['birds']:
    print("鸟的颜色有:\t" + paks + "的")

这里我们在字典中加入了列表,'birds'的值为一个列表,我们想要输出对应的值,就必须使用for循环才能一一输出,看示例,我们定义一个变量循环遍历pak字典中'birds'键所对应的值,并打印这个变量,就能得到我们想要的值了。 实战四

pak = {
    'dog': ['yellow', 'black'],
    'birds': ['red', 'blue'],
    'cat': ['white', 'orange'],
}
for animals,color in pak.items():
    print(f"{animals}颜色都有:")
    for color_num in color:
        print(color_num.title())
 
# dog颜色都有:Yellow Black
# birds颜色都有:Red Blue
# cat颜色都有:White Orange

这里我们使用了多个列表值,并用for循环进行遍历所有的颜色!你们输出的格式不是我注释的那个样子,这里我是修改了格式,所以不必纠结。