如何从字典中的列表中删除元素[重复]

Posted

技术标签:

【中文标题】如何从字典中的列表中删除元素[重复]【英文标题】:How to delete elements from a list in a dictionary [duplicate] 【发布时间】:2014-06-29 12:53:39 【问题描述】:

我有一本字典,result,里面有列表。在其中一个列表(“失败”)中,其元素可以等于 1、2 或 3。例如,如果元素编号 9 等于 3(或 1),我想删除四个列表中的每个第九个元素 @987654322 @ 在同一个字典中。我使用 Python 3.4。

这是我的字典:

result =  'LoadLevel': [0.212399, 0.393191, 0.727874, 1.347436, 2.494368, 4.617561, 8.548006, 15.824027, 29.293362, 54.227726, 1.0], 'WeightedLevel': [388.850952, 716.718689, 1312.55957, 2405.087158, 4460.083984, 8543.792969, 18805.201172, 57438.140625, 196024.515625, 860072.3125, 1792.367554], 'Blocks': [7255.151855, 231.589661, 9.365415, 0.55364, 0.0504, 0.006408, 0.001204, 0.000842, 0.909091, 1e-06, 2.060041], 'Failure': [2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 2.0], 'Job': 'Desktop', 'Task': 'test'

【问题讨论】:

第 9 个元素是什么? 元素编号 9 的“失败”检查值 1 或 3 【参考方案1】:

试试这个:

result =  'LoadLevel': [0.212399, 0.393191, 0.727874, 1.347436, 2.494368, 4.617561, 8.548006, 15.824027, 29.293362, 54.227726, 1.0],
           'WeightedLevel': [388.850952, 716.718689, 1312.55957, 2405.087158, 4460.083984, 8543.792969, 18805.201172, 57438.140625, 196024.515625, 860072.3125, 1792.367554],
           'Blocks': [7255.151855, 231.589661, 9.365415, 0.55364, 0.0504, 0.006408, 0.001204, 0.000842, 0.909091, 1e-06, 2.060041],
           'Failure': [2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 2.0],
           'Job': 'Desktop',
           'Task': 'test'

if result['Failure'][8] == 1.0 or result['Failure'][8] == 3.0:
    del result['LoadLevel'][8]
    del result['WeightedLevel'][8]
    del result['Blocks'][8]
    del result['Failure'][8]

print result

【讨论】:

以上是关于如何从字典中的列表中删除元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何通过名称值从数组中删除字典元素[重复]

如何使用 Dart / Flutter 中的列表从列表中删除重复元素?

python删除列表中的重复元素并保持相对顺序不变

如何在保留顺序的同时删除列表中的重复元素?

python中怎么重复打印

从Python中的字典中删除键[重复]