欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python——找出内层字典中所用到的全部键,并以集合的形式返回。

程序员文章站 2022-04-29 18:57:42
...
'''
3. 编写一个叫做db_headings的函数,要求能够找出内层字典中所用到的全部键,并以集合的形式返回。
以给出的字典为例,该函数应该返回集合{'author', 'forename', 'born', 'surname', 'notes', 'died'}。


{
    'jgoodall':{'surname':'goodall',
                'forename':'Jane',
                'born':1934,
                'died':None,
                'notes':'primate researcher',
                'author':['In the Shadow of Man','The Chimpanzees of Gombe']},
    'rfranklin':{'surname':'Franklin',
                 'forename':'Rosalind',
                 'born':1920,
                 'died':1957,
                 'notes':'contributed to discovery of DNA'},
    'rcarson':{'surname':'Carson',
               'forename':'rachel',
               'born':1907,
               'died':1964,
               'notes':'raised awareness of effects of DDT',
               'author':['Silent Sporing']}
    }
'''
def db_headings():
    people = {
    'jgoodall':{'surname':'goodall',
                'forename':'Jane',
                'born':1934,
                'died':None,
                'notes':'primate researcher',
                'author':['In the Shadow of Man','The Chimpanzees of Gombe']},
    'rfranklin':{'surname':'Franklin',
                 'forename':'Rosalind',
                 'born':1920,
                 'died':1957,
                 'notes':'contributed to discovery of DNA'},
    'rcarson':{'surname':'Carson',
               'forename':'rachel',
               'born':1907,
               'died':1964,
               'notes':'raised awareness of effects of DDT',
               'author':['Silent Sporing']}
    }
    l=[]
    for name in people.values():
        a = name
        for name in a.keys():
            l.append(name)
    n=[]
    for i in l:
        if i not in n:
             n.append(i)
    print(n)
db_headings()



'''
#创建一个存储一个学生的信息,通过遍历可以取出所有信息
student={'name':'xiaoming','age':11,'school':'tsinghua'}
for key,value in student.items():
    print(key+':'+str(value))

输出: 
age:11 
name:xiaoming 
school:tsinghua
注意: 
遍历出的返回值输出和存储的顺序不一样,输出顺序每次都会变化 
在for循环中key和value两个变量需要使用逗号‘,’隔开


#取键
student = {'name': 'xiaoming', 'age': 11, 'school': 'tsinghua'}
    for name in student.keys():
        print(name)
输出   
name
age
school


#keys()返回的值顺序是不确定的,如果想按序排列,可以使用sorted()进行排序
for name in sorted(people.keys()):
'''

更多干货正在赶来,敬请期待……

PS:本文原创首发于公众号「让我遇见相似的灵魂」,回复关键字获取数十本程序员经典电子书。

左手代码,右手吉他,这就是天下:如果有一天我遇见相似的灵魂 那它肯定是步履艰难 不被理解 喜黑怕光的。如果可以的话 让我触摸一下吧
它也一样孤独得太久。 不一样的文艺青年,不一样的程序猿。

上一篇: java的IO API(1)

下一篇: Java基础(1)