根据python

时间:2016-03-05 21:45:52

标签: python python-2.7 dictionary

我正在尝试为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)

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

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

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

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