栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 字典嵌套学习

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 字典嵌套学习

python3 字典嵌套学习 遍历字典键对值
# coding:utf-8
# python3.10

student = {"NAME":{"label":"名称","fieldName":"NAME"},"ADDRESS":{"label":"地址","fieldName":"ADDRESS"},"LON":{"label":"经度","fieldName":"LON"},"LAT":{"label":"纬度","fieldName":"LAT"},"SOURCE":{"label":"数据来源","fieldName":"SOURCE"},"CITYCODE":{"label":"城市代码","fieldName":"CITYCODE"},"PRODATE":{"label":"处理日期","fieldName":"PRODATE"}}

for key, value in student.items():
    print("nKey: " + key) # n 是使得每次输出能隔行显示
    print("Value: " + str(value)) # 因为value对应的是字典类型,所以用str()方法将其转化成字符串

输出结果

Key: NAME
Value: {'label': '名称', 'fieldName': 'NAME'}

Key: ADDRESS
Value: {'label': '地址', 'fieldName': 'ADDRESS'}

Key: LON
Value: {'label': '经度', 'fieldName': 'LON'}

Key: LAT
Value: {'label': '纬度', 'fieldName': 'LAT'}

Key: SOURCE
Value: {'label': '数据来源', 'fieldName': 'SOURCE'}

Key: CITYCODE
Value: {'label': '城市代码', 'fieldName': 'CITYCODE'}

Key: PRODATE
Value: {'label': '处理日期', 'fieldName': 'PRODATE'}

如果只输出所有的键

# coding:utf-8
# python3.10

student = {"NAME":{"label":"名称","fieldName":"NAME"},"ADDRESS":{"label":"地址","fieldName":"ADDRESS"},"LON":{"label":"经度","fieldName":"LON"},"LAT":{"label":"纬度","fieldName":"LAT"},"SOURCE":{"label":"数据来源","fieldName":"SOURCE"},"CITYCODE":{"label":"城市代码","fieldName":"CITYCODE"},"PRODATE":{"label":"处理日期","fieldName":"PRODATE"}}

for key in student.keys():
    print("fieldName = "%s"" % key)

输出结果

fieldName = "NAME"
fieldName = "ADDRESS"
fieldName = "LON"
fieldName = "LAT"
fieldName = "SOURCE"
fieldName = "CITYCODE"
fieldName = "PRODATE"
Python enumerate() 函数

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

语法
enumerate(sequence, [start=0])
参数
  • sequence – 一个序列、迭代器或其他支持迭代对象。
  • start – 下标起始位置。
返回值

返回 enumerate(枚举) 对象。

实例
#普通的 for 循环
>>>i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
...     print i, seq[i]
...     i +=1
... 
0 one
1 two
2 three

#for 循环使用 enumerate
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three

#用enumerate函数遍历list
for x , y in enumerate(dict):
    print ("fieldName%d = "%s"" % (x,y))
    print ("fieldalias%d = "%s"" % (x,y))
字典嵌套
# coding:utf-8
# python3.10

students = {
    'kelvin': {
        'age': 18,
        'course': ['数据结构', '计算机网络', '计算机组成原理', '操作系统']
    },
    'vicky': {
        'age': 19,
        'course': ['xx经济学', '西方经济学', '统计学', '发展经济学']
    }
}

#嵌套的字典遍历
for name, student in students.items():
    print("姓名:", name, "n年龄:", student['age'], "n所学课程:") # n 换行显示

    for course in student['course']:
        print("t" + course) # “t”是指制表符,代表着四个空格
实战
# coding:utf-8
# python3.10

dict = {"NAME":{"label":"名称","fieldName":"NAME"},"ADDRESS":{"label":"地址","fieldName":"ADDRESS"},"LON":{"label":"经度","fieldName":"LON"},"LAT":{"label":"纬度","fieldName":"LAT"},"SOURCE":{"label":"数据来源","fieldName":"SOURCE"},"CITYCODE":{"label":"城市代码","fieldName":"CITYCODE"},"PRODATE":{"label":"处理日期","fieldName":"PRODATE"}}

'''
#嵌套的字典遍历,普通方法
for x , y in dict.items():
    print("fieldname:", x , "nfieldalias:", y['label']) 
'''

'''
#嵌套的字典遍历,用enumerate()函数
for x , y in enumerate(dict,start=1):
    print ("fieldName%d = "%s"" % (x,y))
    print ("fieldalias%d = "%s"" % (x,y))
'''

#组合的遍历
t = 1
for x , y in dict.items():
    print("fieldName%d = "%s"" % (t,x))
    print("fieldalias%d = "%s"" % (t,y['label'])) 
    t = t + 1

输出结果

fieldName1 = "NAME"
fieldalias1 = "名称"
fieldName2 = "ADDRESS"
fieldalias2 = "地址"
fieldName3 = "LON"
fieldalias3 = "经度"
fieldName4 = "LAT"
fieldalias4 = "纬度"
fieldName5 = "SOURCE"
fieldalias5 = "数据来源"
fieldName6 = "CITYCODE"
fieldalias6 = "城市代码"
fieldName7 = "PRODATE"
fieldalias7 = "处理日期"
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674865.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号