繁体   English   中英

根据python中的字典值删除数组项

[英]Delete array item based on dictionary value in python

我正在尝试编写3轴加速度计的定向例程。 我遇到的问题是,列出了所有轴的一个字典,在读取“ z轴”之后,我想从Availiable_axis列表中删除该轴。 这是我的代码的一部分,演示了我正在尝试做的事情。

import operator

Readings1 = { 0:{'x':0.1, 'y':-1, 'z':-0.1}, 1:{'x':.4, 'y':-.1, 'z':-0.1}, 
        2:{'x':-0.4, 'y':-.8, 'z':-0.1}, 3:{'x':0.1, 'y':-.1, 'z':-0.6}, 
        4:{'x':0.1, 'y':-.2, 'z':0.4}}

SetupValue = {'Axis':{'x-axis':'x','y-axis':'y','z-axis':'z'}}

Available_axis = [SetupValue['Axis']['x-axis'], SetupValue['Axis']['y-axis'], SetupValue['Axis']['z-axis']]
axes = Readings1[0]

print axes

for key in axes:
    axes[key] = abs(axes[key])

print axes


print (max(axes.iteritems(), key = operator.itemgetter(1))[0])
Available_axis.pop(max(axes.iteritems(), key = operator.itemgetter(1))[0],0)

任何帮助,将不胜感激。

Available_axis是一个列表。 从列表中弹出时,必须指定整数位置。

您还可以使用简短列表理解来删除目标变量。

Available_axis = [x for x in Available_axis 
                  if x != max(axes.iteritems(), key = operator.itemgetter(1))[0]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM