【发布时间】:2020-09-25 11:49:48
【问题描述】:
以下是一个例子:
p_dur_same = [0, 5, 5]
activity = [2, 3, 4]
max_p_dur_same = max(p_dur_same)
我要做的就是在p_dur_same中选择最高的值,然后得到它的索引,用这个索引找到它对应的活动号。
我的代码中有一个条件部分,如下所示:
# if same duration, randomly choose between the activities in activity
if p_dur_same.count(max_p_dur_same) > 1:
select_act =
p_dur_select_act =
else:
# if different, select the activity that has the highest duration
select_act =
p_dur_select_act = [d for a, d in zip(activity, p_dur_same) if a in select_act]
print(select_act)
print(p_dur_select_act)
我想就如何在max_p_dur_same 具有相同值的活动之间随机选择寻求帮助。而且,如何找到max(p_dur_same) 的索引,然后使用该索引在activity 中找到对应的值。请注意,activity 在我的代码中是一个 numpy 数组。
对于上面的例子,我应该得到类似的东西:
由于max(p_dur_same)不止一次出现,那么我们必须在两个(5s in p_dur same)之间随机选择。假设它选择第一个,然后是select_act = 3 p_dur_select_act = 5。我可以通过在p_dur_same 中获取第一个 5 的索引,然后使用该索引在activity 中找到相应的值来得到这个。
任何帮助将不胜感激!谢谢!
【问题讨论】:
标签: python python-3.x indexing conditional-statements