gpt4 book ai didi

python - 从字典键在 python 中定义变量?

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:58 24 4
gpt4 key购买 nike

在我努力学习的过程中,我在理解列表与字典及其最佳用途以及如何处理数据方面遇到了困难。

例如,我在 CSV 文件中有以下数据:

device,parent,fexprefix
2248_1,5548_1,Eth101/1/
2248_2,5548_2,Eth102/1/
2248_3,5548_3,Eth103/1/

我通过执行以下操作从中创建了一个字典:

import csv
reader = csv.DictReader(open('fexmap2.csv'))
fexdata = {}
for row in reader:
for column, value in row.iteritems():
fexdata.setdefault(column, []).append(value)

现在我可以打印出我的词典如下:

{'device': ['2248_1', '2248_2', '2248_3'], 'fexprefix': ['Eth101/1/', 'Eth102/1/', 'Eth103/1/'], 'parent': ['5548_1', '5548_2', '5548_3']}

我可以看到我的 key :

>>>fexdata.keys()
['device', 'fexprefix', 'parent']

我想到目前为止还不错。

但现在我需要对这些数据进行查找以导出新变量(希望这是正确的术语)。

例如,我将解析一些 JSON 数据,从而了解设备“2248_1”

据此,我需要在字典中查找它的父项以创建一个我可以开始在脚本中使用的变量。

假设当我从 JSON 中获取 "2248_1" 时,它被定义为:

destdevice = 2248_1

所以现在我想通俗地讲一下:

if destdevice is found in fexdata['device']
then deviceparent = fexdata['parent'] of fexdata['device']

此时,deviceparent = 5548_1

最佳答案

如果要将设备用作键,请将其设置为字典的键:

fexdata = {}
for row in reader:
fexdata[row['device']] = row

然后可以直接获取id为2248_1的设备的parentid:

destdevice = '2248_1'
deviceparent = fexdata[destdevice]['parent']

关于python - 从字典键在 python 中定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40787563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com