「这是我参与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循环进行遍历所有的颜色!你们输出的格式不是我注释的那个样子,这里我是修改了格式,所以不必纠结。