python 如何对嵌套字典里的数据进行添加和删除?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 如何对嵌套字典里的数据进行添加和删除?相关的知识,希望对你有一定的参考价值。
删除一个值,只要指定对应键就可以:dict.pop(types)
如果types键的值还是一个字典,即1:1:'a',2:'b',3:'c',2:4:'d',5:'e',6:'f'
那么删除2中的4:‘d’,怎么操作?
要修改2中的5:'e'为5:'w',怎么实现啊,求助。。
>>> data
1: 1: 'a', 2: 'b', 3: 'c', 2: 4: 'd', 5: 'e', 6: 'f'
>>> del data[2][4]
>>> data
1: 1: 'a', 2: 'b', 3: 'c', 2: 5: 'e', 6: 'f'
>>>
>>> data[2][5] = 'w'
>>> data
1: 1: 'a', 2: 'b', 3: 'c', 2: 5: 'w', 6: 'f'
>>>追问
请问在.py文件中创建一个三层嵌套的字典,能不能用类似创建三维数组的方法呢?
追答从某个方面讲是的,但又不一样。
一般概念上的几维数组在特定维度上的长度是定长的,通过位置坐标访问。
而字典的是以任意唯一值为访问凭据的。
那就嵌套操作呗
先取键2的值,是一个字典;再对该字典做pop操作。
a[2].pop(4)
print a[2]
a[2][5] = 'W'
print a[2] 参考技术B 方法:
del dict2['name']#删除键为“name”的条目。
dict2.clear()#删除 dict2 中所有的条目
del dict2#删除整个 dict2 字典
dict2.pop('name')#删除并返回键为“name”的条目
在Python列表中对嵌套字典进行排序? [复制]
【中文标题】在Python列表中对嵌套字典进行排序? [复制]【英文标题】:Sort nested dictionary inside a list in Python? [duplicate] 【发布时间】:2018-10-20 08:42:15 【问题描述】:[ "PricingOptions": "Price": 51540.72, "Agents": [ 4056270 ] , "PricingOptions": "Price": 227243.14, "Agents": [ 4056270], ]
如何按价格排序?
【问题讨论】:
【参考方案1】:data = [ "PricingOptions": "Price": 51540.72, "Agents": [ 4056270 ] , "PricingOptions": "Price": 227243.14, "Agents": [ 4056270], ]
newlist = sorted(data, key=lambda k: k['PricingOptions']["Price"])
print(newlist)
输出:
['PricingOptions': 'Price': 51540.72, 'Agents': [4056270], 'PricingOptions': 'Price': 227243.14, 'Agents': [4056270]]
或 降序
newlist = sorted(data, key=lambda k: k['PricingOptions']["Price"], reverse=True)
print(newlist)
#['PricingOptions': 'Price': 227243.14, 'Agents': [4056270], 'PricingOptions': 'Price': 51540.72, 'Agents': [4056270]]
【讨论】:
我的列表格式不一样,部分PricingOptions有多个[Price, Agent]条目。因此,您提供的解决方案将显示此类情况的关键错误。例如,data = [ "PricingOptions": "Price": 51540.72, "Agents": [ 4056270 ] , "PricingOptions": ["Price": 227243.14, "Agents": [ 4056270], [ “价格”:454545 “代理商”:[4056454]]【参考方案2】:您可以通过应用lambda
表达式来使用sorted
方法。
sort_list = sorted(data, key=lambda elem: elem['PricingOptions']["Price"])
输出
['PricingOptions': 'Price': 51540.72, 'Agents': [4056270], 'PricingOptions': 'Price': 227243.14, 'Agents': [4056270]]
如果你想sort
列表降序,你只需将True
分配给reverse
属性。
【讨论】:
以上是关于python 如何对嵌套字典里的数据进行添加和删除?的主要内容,如果未能解决你的问题,请参考以下文章