将字典转换为列表,然后从列表返回到字典,但具有相同的值

2024-09-28 01:25:53 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我想知道如何将字典转换为列表,然后将其转换为列表,因为字典已经有了一个设定值。下面是一个例子

#Dictionary
  serviceli["Firewall Service"] = "$1.2k/year"
  serviceli["Security Ops Centre"] = "$4.2k/year"
  serviceli["Hot Site"] = "$8.5k/year"
  serviceli["Data Protection"] = "$10.0k/year" 

接下来,我使用这组代码将其转换为一个列表,但只需要密钥,例如防火墙服务

for ser in serviceli:
    upserli = list(serviceli)
    Newserli.append(upserli[0])
    print(Newserli)

因此,列表(Newserli)当前看起来如下所示

['Firewall Service']

但是现在我想把这个列表转换回一个具有如上所示相同键值的字典,有什么方法可以做到吗?提前多谢


Tags: 列表dictionary字典serviceliyearops例子
3条回答

如果没有值,字典就无法形成,可能会用None之类的占位符填充:

serviceli = {x: None for x in serviceli.keys()}

你可以用它来获得dict的钥匙

serviceli.keys()

你想改革格言吗

another_dict = {k:v for k,v in serviceli.items()}

serviceli[:]

是否将键和值作为元组对dict(myPairs)

如果您想创建一个与第一个相同的新dict,但只保留列表中的键,那么

new_dict = {key: serviceli[key] for key in newserli}

因此,应用于您的样本数据,这将给出:

serviceli = {}
serviceli["Firewall Service"] = "$1.2k/year"
serviceli["Security Ops Centre"] = "$4.2k/year"
serviceli["Hot Site"] = "$8.5k/year"
serviceli["Data Protection"] = "$10.0k/year"

newserli = ["Firewall Service"]

new_dict = {key: serviceli[key] for key in newserli}

print(new_dict)
# {'Firewall Service': '$1.2k/year'}

这是您将其传输到配对列表的方式:

mylist = list(dictionary.items()) 
>>>mylist  
[("Firewall Service", "$1.2k/year"),("Security Ops Centre", "$4.2k/year"),... ]
>>>mylist[0][0]
"Firewall Service"

这就是你如何让它再次成为一句格言:

another_dict = {k:v for k,v in mylist} # or simply dict(mylist)

这回答了你的问题吗

相关问题 更多 >

    热门问题