Вопрос

I have a dictionary, result, with lists in it. In one of the lists ("Failure"), its elements can be equal to 1, 2 or 3. If for example element number 9 is equal to 3 (or 1), I want to delete each ninth element in four lists ("Failure","LoadLevel",""WeightedLevel" and "Blocks") in the same dictionary. I work with Python 3.4.

Here is my dictionary:

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'}
Это было полезно?

Решение

Try this:

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top