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 = "处理日期"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值