在For Loop中从另一个字典创建Python字典

时间:2020-07-06 20:02:00

标签: python dictionary

我目前有一个从csv文件导入的字典,已将其转换为变量列表。原始字典如下:

  • server01,server01.fqdn:port
  • server02,server02.fqdn:port
  • server03,server03.fqdn:port
  • server04,server04.fqdn:port

我想做的是使用与现有密钥相同的键值(将是服务器名称)创建另一个字典,并使用服务器的FQDN,使用python请求获取值。这样会创建一个这样的字典,然后将其插入MySQL:

  • server01 0.0 0.0 2020-07-06 19:59:42
  • server02 0.0 0.0 2020-07-06 19:59:42
  • server03 0.0 0.0 2020-07-06 19:59:42
  • server04 0.0 0.0 2020-07-06 19:59:42

我可以使用此命令将结果打印到屏幕上,但是如何将其插入到新字典中?

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    
    if #available(iOS 11, *) {
        // Safe area constraints already set.
    } else {
        NSLayoutConstraint.activate([
            self.yourView.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor)
        ])
    }
}

谢谢

塞恩

3 个答案:

答案 0 :(得分:0)

相反,

print key, fc_grab(value), fs_grab(value), curtime

你可以做

output_dictionary[key] = "{} {} {}".format(fc_grab(value), fs_grab(value), curtime)

假设您开始使用类似

output_dictionary = {}

如果您不想像打印内容一样将值另存为字符串,还有其他可能性

例如,您可以

output_dictionary[key] = (fc_grab(value), fs_grab(value), curtime)

然后,您只需将三个值放入一个元组,并且以后随时可以将它们格式化为字符串,但是如果需要,您可以实际操作数据项(尤其是它们不仅仅是字符串)

顺便说一句,您可能需要更新到python3-显然是从print语句中得知您正在使用python2。

答案 1 :(得分:0)

curtime = ('{:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.utcnow()))

results = dict()

for key, value in sorted(dict.items()):
    results[key] = {
        "fc": fc_grab(value),
        "fs": fs_grab(value),
        "curtime": curtime
    }

答案 2 :(得分:0)

基本上,您需要插入MySQL的Dicts或Dicts的列表。

curtime = ('{:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.utcnow()))
rows = {key:{  
               "fc":fc_grab(value),
               "fs":fs_grab(value),
               "curtime":curtime
           }for key, value in sorted(dict.items())}