簡體   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