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

题目描述:

请编写一个程序,统计出给定的字典中值为”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)

输出结果

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风青筝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值