当前位置: 代码迷 >> 综合 >> python列表与字典的结合使用辨析:列表与字典的嵌套,字典与字典的嵌套,题目:统计出给定的字典中值为”tester”的数量和”develop”的数量,并把所有是值”tester”的key放到列表里
  详细解决方案

python列表与字典的结合使用辨析:列表与字典的嵌套,字典与字典的嵌套,题目:统计出给定的字典中值为”tester”的数量和”develop”的数量,并把所有是值”tester”的key放到列表里

热度:25   发布时间:2023-12-05 12:38:28.0

题目描述:

请编写一个程序,统计出给定的字典中值为”tester”的数量和”develop”的数量,并把所有是值”tester”的key放到列表里打印出来,是”develop”的key放到另一个列表打印出来
dep = {'kitch ': [{"aki": "tester", "ennis": "tester", "nancy": "tester", "c": "tester", "kevin": "develop", "tavis ": "develop"}]}

dep = {'kitch ': [{"aki": "tester","ennis": "tester","nancy": "tester","c": "tester","kevin": "develop","tavis ": "develop"}]}

题目分析:

 我们知道字典是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据。 字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value

字典由多个键和其对应的值构成的键—值对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典是由大括号{}括起来的。

然后我们对dep字典进行分析:

第一层:

dep字典中只有一组数据也即只有一个键值对,在这个键值对中,关键数据也即key‘kitch ’,由‘kitch ’所引导访问的数据value[{"aki": "tester", "ennis": "tester", "nancy": "tester", "c": "tester", "kevin": "develop", "tavis ": "develop"}],然后我们来看这个value的数据类型,很明显由两端的方括号可以看出value为一个列表;

可能对有些初学者来说有些有些困难,无法看出value的数据类型,没关系,我们可以通过type函数来获取value的数据类型

dep = {'kitch ': [{"aki": "tester","ennis": "tester","nancy": "tester","c": "tester","kevin": "develop","tavis ": "develop"}]}print(type(dep['kitch ']))

输出结果:

<class 'list'>

所以我们可以知道value为一个列表

第二层:

我们首先创建一个列表lst来存放value

dep = {'kitch ': [{"aki": "tester","ennis": "tester","nancy": "tester","c": "tester","kevin": "develop","tavis ": "develop"}]}print(type(dep['kitch ']))
lst=dep['kitch ']

然后我们对lst列表进行分析,我们可以看到lst列表中仅有一个元素即{"aki": "tester", "ennis": "tester", "nancy": "tester", "c": "tester", "kevin": "develop", "tavis ": "develop"},由两端的花括号可以看出这个元素为字典,也可用type函数进行判断,判断方法同上

print(type(lst[0]))

输出结果:

<class 'dict'>

所以我们可以知道该元素为一个字典

解题思路:

我们先创建一个字典作为我们在上一步中所得到的列表中的字典

dep1=lst[0]

然后创建两个空列表来分别存放字典中值为”tester”和”develop”的key

lst1=[]
lst2=[]

通过for循环遍历字典进行判断,并字典中值为”tester”和”develop”的key添加至列表中

for i in dep1:if dep1.get(i)=='tester':lst1.append(i)else:lst2.append(i)

输出列表

print(lst1)
print(lst2)

源码如下:

dep = {'kitch ': [{"aki": "tester","ennis": "tester","nancy": "tester","c": "tester","kevin": "develop","tavis ": "develop"}]}# print(type(dep['kitch ']))
lst=dep['kitch ']
# print(type(lst[0]))
lst1=[]
lst2=[]
dep1=lst[0]
for i in dep1:if dep1.get(i)=='tester':lst1.append(i)else:lst2.append(i)
print(lst1)
print(lst2)

输出结果