我是一个Python的NoOB,来自C/C++。 我在用一个加速计连接到一个Beaglebone Black。我从加速计中收集6个[X,Y,Z]读数:
calib = [[-72, -80, -673], [-31, -1673, 481], [-29, -62, 1564], [-148, 1464, 545], [-1513, -67, 539], [1350, -80, 480]]
我需要从这组6个读数中找出X
、Y
和Z
的最小值和最大值。
我的代码是:
max = [0] * 3
min = [0] * 3
for ndx, sample in enumerate(calib):
x, y, z = calib[ndx]
if x > max[0]:
max[0] = x
if x < min[0]:
min[0] = x
if y > max[1]:
max[1] = y
if y < min[1]:
min[1] = y
if z > max[2]:
max[2] = z
if z < min[2]:
min[2] = z
print "min", min
min [-1513, -1673, -623]
print "max", max
max [1350, 1464, 1564]
这看起来很管用,但看起来不像“Python”。必须有一个更干净的方法来做这件事。有什么建议吗?
首先,重新映射该列表,为您提供
x
、y
和z
列表的列表:然后将min和max映射到列表:
或者作为一个列表理解:
相关问题 更多 >
编程相关推荐