我有一个清单
a=[2,7,23,4563,23].
Run Code Online (Sandbox Code Playgroud)
如何在一行中打印所有元素的索引?
基本上,我必须对列表进行排序并打印原始索引作为输出。例子:
A=[4,5,3,7,1]
Run Code Online (Sandbox Code Playgroud)
排序后新数组变为
A=[1,3,4,5,7]
Run Code Online (Sandbox Code Playgroud)
所需的输出应该是
4 2 0 1 3
Run Code Online (Sandbox Code Playgroud)
更新:
如果你想排序然后显示它们的原始位置,你可以使用感谢@tdelaney 来识别 numpy 实际上会更慢numpy.array
在一行中:
print(" ".join(str(i) for i,v in sorted(enumerate(a), key=lambda x: x[-1])))
Run Code Online (Sandbox Code Playgroud)
为了
a=[2,7,23,4563,23]
Run Code Online (Sandbox Code Playgroud)
输出:
0 1 2 4 3
Run Code Online (Sandbox Code Playgroud)
如果您想value:index在一行中打印表单中的元素值和索引,您可以尝试:
print(' '.join(str(v)+':'+str(i)for i,v in enumerate(a)))
Run Code Online (Sandbox Code Playgroud)
输出:
2:0 7:1 23:2 4563:3 23:4
Run Code Online (Sandbox Code Playgroud)