如何根据另一个列表中的值重新排列列表中的值?

rei*_*rdt 3 python numpy list python-3.x

我有一个列表如下:

PastValues = [76978.359, 71079.933, 75580.227]
Run Code Online (Sandbox Code Playgroud)

我做了:

PastValues2 = PastValues + [-value for value in PastValues]
Run Code Online (Sandbox Code Playgroud)

创建 中值的负值PastValues并将它们与 中的值连接起来,PastValues它给了我以下列表PastValues2

[76978.359, 71079.933, 75580.227, -76978.359, -71079.933, -75580.227]
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法将 中的值重新PastValues2排列为与PastValues.

期望的输出:

PastValues2 = [-76978.359, 76978.359, -71079.933, 71079.933, -75580.227, 75580.227]
Run Code Online (Sandbox Code Playgroud)

由于PastValues列表中76978.359是第一个元素,我希望 中的前 2 个元素PastValues2分别是它的负值和正值。PastValues列表中的其他元素也是如此。负值应该在正值之前

rus*_*ro1 5

您可以使用列表理解:

[e for i in PastValues for e in [-i, i]]

# [-76978.359, 76978.359, -71079.933, 71079.933, -75580.227, 75580.227]
Run Code Online (Sandbox Code Playgroud)