基于Python中第二个数组索引值的一个数组分隔值
问题描述:
我在python中有以下扭矩和速度数组。我的问题是如何获得给定速度的相应扭矩值(每个扭矩指数对应于每个速度指数)。例如,速度1的扭矩为10,30,50,速度7的扭矩为20。基于Python中第二个数组索引值的一个数组分隔值
扭矩= [10,20,30,40,50]
速度= [1,7,1,8,1]
我尝试使用元组与下面的代码和输出,但我不能够分开扭矩给定的速度。例如,在1速度Trq = [10,30,50]。最受赞赏的是帮助。
Trq_Speed = list(zip(Speed, Torque))
Trq_Speed.sort(key=lambda x: x[0])
print(Trq_Speed)
[(10,1),(30,1),(50,1),(20,7),(40,8)]
答
使用enumerate
和defaultdict
。
from collections import defaultdict
d = defaultdict(list)
Torque = [10, 20, 30, 40, 50]
Speed = [1, 7, 1, 8, 1]
for i, e in enumerate(Speed):
d[e].append(Torque[i])
d
回报:
defaultdict(list, {1: [10, 30, 50], 7: [20], 8: [40]})
谢谢thaavik,您的解决方案是很简单的工作。感谢你的帮助。 – Omkar