用一个例子来说明可能更容易。你知道吗
A = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3]
B = [0.1, 0.2, 0.3, 0.4, 0.01, 0.02, 0.03, 0.04, 0.001, 0.001, 0.0003, 0.0003]
我有上面的两张单子。你知道吗
图中的每个元素都被复制了几次。每个元素的多重性可以不同(它们不必像这里那样排序)。你知道吗
B包含与A相同数量的元素。我要将A中每个重复元素中的最小元素分配给列表C(其中最小值来自B列表中的相应值)。因此,对于前4个元素,它将是0.1,对于下4个元素,它在本例中是0.01,对于最后4个元素,它是0.0003的重复值,对于每个重复的元素,它都是0.0003)。你知道吗
我想得到以下清单。你知道吗
C = [0.1, 0.1, 0.1, 0.1, 0.01, 0.01, 0.01, 0.01, 0.0003, 0.0003, 0.0003, 0.0003]
由于我正在使用的代码已经广泛使用列表理解,所以我希望使用相同的方法。你知道吗
这可能吗?你知道吗
这样做明智吗?你知道吗
我熟悉一些简单的情况,比如
C = A[B < 0.0005]
给予
C = [3]
但我不知道该怎么做。你知道吗
如果不介意使用另一个名为
Pandas
的Python库,可以执行以下操作:输出:
您可以使用以下方法:
这是因为当您将
tuple
的list
转换为dict
时,重复的键会被最后一个键覆盖。你知道吗如果你想要一行,假设我的评论是正确的解释,这是可行的:
要分解它,最里面的列表理解将遍历
A
中的索引和值,然后下一个列表理解将再次遍历A
中的所有值(将它们存储在y
),并用作前面提到的列表的条件。然后使用这个索引列表获取
B
(使用j
)中的所有元素,最后获取该列表中的min
。你知道吗enumerate将索引和值分别返回到
ind
和x
。你知道吗相关问题 更多 >
编程相关推荐